2011-07-05 4 views
1

내 오류 코드는PHP + ORACLE 연결 문제는

내 ORACLE_HOME이 root.sh에 설정되어
46:  function connect($DBuser,$DBpassword,$DBsid) { 
47:  $this->conn = OCILogon($DBuser,$DBpassword,$DBsid); 
48:  $this->mode = OCI_DEFAULT; 
49: } 

: ORACLE_HOME=/oracle

/oracle입니다 /bin을 포함하는 올바른 디렉토리.

및 .. 내 $ DBsid 값도 /oracle/network/admin/tnsnames.ora에 정의되어 있습니다.

나는 docs을 봤는데 시도해 본다. 테스트 PHP 파일을 만들었습니다.

oci_internal_debug(1); // turn on tracing 
$conn = oci_connect("id", "pw", "SID"); 

그것은 표시 : 코드입니다

OCI8 DEBUG: OCINlsEnvironmentVariableGet at (/temp/php_source/php-5.2.13/ext/oci8/oci8.c:1067) OCI8 DEBUG: OCIEnvNlsCreate at (/temp/php_source/php-5.2.13/ext/oci8/oci8.c:1223) 
Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that ORACLE_HOME is set and points to the right directory in /data01/app/htdocs/doosanclub/db_connect_test.php on line 23 
OCI8 DEBUG: OCIHandleFree at (/temp/php_source/php-5.2.13/ext/oci8/oci8.c:1547) 

ORACLE_HOME 다시 .. 아마 잘못 ..? 나도 몰라.

이런 것들을 설정하는 것은 처음이다. 이 문제를 도와주세요. 감사!

+0

파일 권한 허용 문제 일 수 있습니까? 어떤 사용자 아파치는 PHP 스크립트를 실행하는 무엇입니까? 그것은/오라클 디렉토리를 읽을 수있는 권한이 있습니까? – heximal

+1

"phpinfo()"를 실행하면 환경에서 무엇을 볼 수 있습니까? –

+0

James Anderson //이 문제를 해결하려면 어떤 정보를 알아야합니까? 죄송 합니다만, 보안상의 문제로 전체 정보를 드릴 수는 없습니다. – Deckard

답변

0

PHP 파일을 연결하는 DB에 putenv()를 추가하여이 문제를 해결했습니다.

putenv("ORACLE_HOME=/oracle"); 

는하지만 내가 ORACLE_HOME을 설정 phpinfo(); 표시 ORACLE_HOME=/oracle 전에 매우 이상한입니다.