問題:Linux下的CentOS /的Oracle 11g/InstantClient/PHP 5.3.3的Oracle 11g PHP oci_connect失敗OCIEnvNlsCreate()
錯誤:oci_connect():OCIEnvNlsCreate()失敗。也有一些是錯誤的與您的系統 - 請檢查ORACLE_HOME和LD_LIBRARY_PATH設置,並指向正確的目錄
phpinfo()函數的相關章節:
正如你所看到的,環境變量是正確設置的,我可以用getenv()
在頁面上回顯它們。我還檢查了讀取權限,我可以從網頁中讀取這些目錄中的所有文件。客戶端庫文件在那裏(我安裝並重新安裝兩次)完全安裝。這些庫是可讀和可加載的。
ldd沒有顯示任何錯誤。
這裏是php文件調用:
$test = getenv('LD_LIBRARY_PATH')." ".getenv('ORACLE_HOME');
$this->dbconn = oci_connect("myuser","mypassword", "localhost/orcl") or die("<b>Connection Failed: $test </b>").oci_error();
我嘗試了所有我從谷歌上搜索發現的招數,毫無效果。
任何幫助表示讚賞。
我能夠解決這個問題,因爲導出/ etc/sysconfig/httpd中的env vars ORACLE_HOME和LD_LIBRARY_PATH,所以apache可以選擇它。 – 2016-12-02 01:35:46