簡體   English   中英

如何在 win7 x64 上使用帶有 php (xampp) 的 oracle 客戶端 11.2

[英]How to use oracle client 11.2 with php (xampp) on win7 x64

我剛剛在我的 win7 (x64) PC 上安裝了一個真實的 XAMPP 來編寫一些 PHP 腳本來連接到一個 oracle DB。 我還安裝了一個普通的 oracle 11.2.0 客戶端(PATH 和 ORACLE_HOME 設置正確)。 客戶端用於我的所有其他工作,沒有任何問題。

當我嘗試連接到 Oracle DB 時,PHP 失敗並出現Fatal error: Call to undefined function oci_connect() in . 我記得幾年前我在 x32 winXP PC 上做同樣的事情時,我不得不在我的 php.ini 中啟用“oci8-extensions”。 但是我當前的 xampp 在php/ext文件夾中沒有這些 dll(只有一個php_oci8_12c.dll ,它在 apache 啟動時拋出了幾個未知函數的錯誤,並且它是針對 oracle 12 而不是 11)並且 php.ini 也說它們是只有即時客戶端需要。

;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

此外,這個SO-questions表明在普通客戶端上使用評論擴展是行不通的(我也試過)。

我試圖用谷歌搜索解決方案,但所有“解決方案”都是“安裝 win32 即時客戶端並啟用擴展”。 但是我不能這樣做,因為我的大部分 QA 工作都需要安裝和配置的 11.2.0 客戶端,而且我的 php/ext 文件夾中沒有 .dll

我還嘗試將 ociw32.dll 從 client/bin 文件夾復制到 php/ext 文件夾,但 apache 說它不是 PHP 庫。

那么如何在安裝 win32 Oracle Instant Client 並破壞我當前設置的情況下,讓 PHP oracle 庫在 x64 win7 上使用 oci8 進行 XAMPP 呢?

編輯:我還嘗試了PHP:安裝手冊(發布:samantha dot vincent at gmail dot com)中描述的步驟包括更改我的 apache-http.conf 也沒有幫助。

我也很困惑我的phpinfo() -Output 正如它所說的

Configure Command   "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared"

我終於找到了解決辦法:

我從“PECL :: PAckage :: oci8 :: 2.0.8” (在我的例子中是32位線程安全DLL)下載了實際的OCI-DLL,然后刪除了; 從這一行

;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client

我還在我的 apache 的 http.conf 中添加了以下幾行

SetEnv ORACLE_BASE "C:/oracle/"
SetEnv ORACLE_HOME "C:/oracle/product/11.2.0/client_1"  

之后我重新啟動了 apache,確保我的連接別名可能放在我的tsnames.ora ,然后我可以使用 oci8 函數而不會出現任何問題。

  1. https://pecl.php.net/package/oci8/2.2.0/windows SELECT -> 7.3 Thread Safe (TS) x86 for 32bits or 7.3 Thread Safe (TS) x64 for 64 bits
  2. 提取所有文件並復制到 de C:\\xampp\\php\\ext
  3. 打開 php.ini 文件並寫入:extension=php_oci8.dll
  4. 重新啟動 xampp。 檢查您的瀏覽器http://localhost/dashboard/phpinfo.php是否啟用了 oci8 如果沒有出現。 從 Internet 下載並將 oci8.dll 復制到 c:\\windows\\system32 文件夾中。
  5. 重啟xampp
  6. 如果 oci8 已啟用,請檢查您的瀏覽器http://localhost/dashboard/phpinfo.php 完畢!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM