2010-08-19 52 views
1

我已經按照電子書Underground Oracle-PHP-manual在ubuntu上安裝了oracle xe 10g,apache,php。但是當我運行一些文件連接oracle-PHP使用oci_connect()顯示錯誤:Ubuntu上的oci8錯誤

Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed. 
There is something wrong with your system - 
please check that ORACLE_HOME and LD_LIBRARY_PATH 
are set and point to the right directories 
in /usr/local/apache/htdocs/con_oracle.php on line 2 

請幫助!!!

+0

可能是[superuser.com](http://superuser.com)或者[Ubuntu-Stack Exchange](http://ubuntu.stackexchange.com/)的更好的問題。 – Troubadour 2010-08-19 10:10:11

回答

0

那麼,$ ORACLE_HOME和$ LD_LIBRARY_PATH指向正確的目錄嗎?

+1

特別記住Apache可能作爲守護程序或guest或其他用戶運行,您需要確保ORACLE_HOME和LD_LIBRARY_PATH可用於該帳戶,並在必要時將其設置在/ usr/local/apache/bin/envvars中 – 2010-08-19 10:39:47

0

編輯您的envvars中文件在/ usr /本地/ Apache /斌/ envvars中

添加這個,如果你使用Oracle XE 10g的

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server 
export LD_LIBRARY_PATH=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib: 

好運:d

1

我比花更有這個錯誤6小時。 所有變量都設置好了,在oracle文件夾集上讀取權限,在網上讀了幾十頁,但沒辦法解決這個問題。

最後我試了最後一件事。 失敗OCIEnvNlsCreate()失敗無論如何都歸因於文件夾/opt/oracle/instantclient的權限!當我將所有者和組設置爲www-data(就我而言),連接建立成功! :-) 我通過網絡閱讀了關於權限的內容,但並不清楚這一點。

奇怪的是,這是我第二次安裝這個模塊,而第一個沒有這樣的問題!

我期望這可能對任何人都有幫助,即使對我來說,當我需要在將來再次安裝它時! :-D 此致敬禮。