1. 程式人生 > >PHP5.6+Apache2.4+Oracle10G遭遇OCIEnvNlsCreate() failed問題解決過程

PHP5.6+Apache2.4+Oracle10G遭遇OCIEnvNlsCreate() failed問題解決過程

在一臺新伺服器(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資料庫連線角本正常!