我目前正在設置一臺Windows 10 Pro x64機器來處理Apache,PHP及其oci8擴展。 我成功設法讓oci8在OSX 10.11和Windows 2012 Server上工作,所以我想我知道該怎麼做。但是,這是32位 - 現在是64OCI8 with PHP7 - 找不到模塊
現在安裝的軟件是:
- 的Apache 2.4.18 64
- PHP 7.0.3 TS 64
- Oracle即時客戶端64(instantclient-基本-windows.x64-12.1.0.2.0)
- OCI8 2.1.0 TS 64
我不明白它的工作。該錯誤信息是:
警告:PHP啓動:無法加載動態庫 中, 'ext \ php_oci8_12c.dll' - 達斯angegebene MODUL wurde nicht gefunden。 (模塊未找到。)在未知
在線0
擴展名 'OCI8' 不存在。
我安裝了Oracle Instant Client,將其目錄寫入PATH變量,並將php_oci8_12c.dll文件複製到PHP ext目錄並取消註釋php.ini中的相應行。這應該不夠嗎?
我#2和有關類似問題的其他網站在這裏看了很多貼子,事情我已經試過:
- 移動所有DLL到C:\ Windows \ System32下
- 包括PHP擴展目錄在PATH變量
- 重新檢查,每一個組分是64位
- 創建ORACLE_HOME和ORACLE_BASE變量(這不應該是必要的)
如果我改變php_oci8_12c.dll 64位到32位的一個,我得到一個不同的錯誤信息:
警告:PHP啓動:無法加載動態庫中,「ext \ php_oci8_12c.dll」 - %1 IST keine zulässigeWin32-Anwendung。 (%1不是有效的Win32程序。)
在未知在線0
擴展名 'OCI8' 不存在。
任何想法有什麼問題呢?
謝謝!
你似乎有DLL的第三方編譯而且它可能使用不同的VC運行庫。你有沒有試過內置的DLL? –
還有一件事... NTS認爲PHP不能作爲Apache模塊運行,這是否正確?你在使用FastCGI嗎? –
謝謝你的TS建議(誤讀下載網站)。 'php.exe --ri oci8'現在顯示已安裝的擴展。它仍然沒有出現在phpinfo()中(例如,當我使用它時未定義的函數oci_connect()),但我要解決這個問題。 –