2011-07-05 33 views
1

私のエラーコードがあるPHP + Oracle接続の問題

46:  function connect($DBuser,$DBpassword,$DBsid) { 
47:  $this->conn = OCILogon($DBuser,$DBpassword,$DBsid); 
48:  $this->mode = OCI_DEFAULT; 
49: } 

私のORACLE_HOMEをroot.shに設定されている:ORACLE_HOME=/oracle

/oracleです/binを含む正しいディレクトリ。

および.. my $ 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

ファイルパーミッションの問題がありますか?どのユーザのApacheでphpスクリプトを実行しているのでしょうか?/oracleディレクトリを読み取る権限がありますか? – heximal

+1

"phpinfo()"を実行すると、環境内に何が表示されますか? –

+0

James Anderson //この問題を解決するにはどのような情報が必要ですか?大変申し訳ありませんが、セキュリティ上の問題のために全情報を伝えることはできません。 – Deckard

答えて

0

私はPHPファイルに接続しているDBにputenv()を追加するだけでこの問題を解決しました。

putenv("ORACLE_HOME=/oracle"); 

しかし、私はORACLE_HOMEを設定する前に、それがphpinfo();ディスプレイORACLE_HOME=/oracleことは非常に奇妙です。