PHP5.6+Apache2.4+Oracle10G遭遇OCIEnvNlsCreate() failed問題解決過程
阿新 • • 發佈:2019-02-11
在一臺新伺服器(Win7,64位)上佈署PHP5.6+Apache2.4+Oracle10G環境。由於原有機器上有機同的環境,於是:1、將原機器的PHP和Apache資料夾考過來。考慮到環境變數設定問題,所以連路徑設定都是一樣的
2、註冊Apache服務。並測試成功(就是出現It worked!)
3、將PHP相關路徑設定到環境變數中。我的是
D:\PHP\env-x64\php5.6;D:\PHP\env-x64\php5.6\ext;
4、手動安裝10G資料庫,手動安裝12C客戶端(PHP5.6連10G也需要12C的客戶端)
5、將Oci相關Dll考到System32下
執行連線Oracle資料庫的PHP角本,不出現成功和失敗的輸出提示。查詢Apache的Error.log,發現如下警告:
PHP Warning: oci_connect(): OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in ....
最終解決方案:檢視System32下的Oci.dll檔案,761K,和12C下的一致。原來之前把12C下的oci.dll才進去了。重新將10G下的Oci.dll,注意是344K(考之前,需將Apache服務停止),重起Apache服務。
PHP資料庫連線角本正常!