no-image

如何在64位Windows安裝32位php oci擴充套件

                                    

本文介紹如何在64位 Windows 上安裝32位 PHP 的 OCI8 擴充套件和 Oracle Instant Client 的詳細教程

環境配置:

PHP版本 5.5 32位
Windows7 64位
Oracle 11g 客戶端
Apache 2.4

在 Windows 上啟用 PHP OCI8 擴充套件

OCI8 是 PHP 擴充套件,一般預設不開啟,用於連線到 Oracle 資料庫,無論你是用哪種方式,pdo也好還是Windows直連也好,都需要oci8這個擴充套件。 如果配置了PHP系統環境變數可以用 cmd> php –ri oci8 命令來檢查是否啟用了oci8擴充套件。

php --ri oci8

安裝OCI8

首先下載OCI8的擴充套件 http://pecl.php.net/package/o… 我這裡下的版本是5.5 Thread Safe (TS) x86 版本
注意:版本分為 Thread Safe 和 Non Thread Safe(其間區別可自行百度),一般Apache都選擇Thread Safe,如果不放心可以用phpinfo看一下,在PHP Extension Build一欄有顯示。

為什麼選擇下x86版本的呢?因為我的php是32位的所以擴充套件也必須下32位的。下載完後,解壓php_oci8.dll檔案,拷貝到PHP擴充套件目錄下,擴充套件目錄在php.ini中 extension_dir = xxxxxx 指定。如果你的系統是64位則對應下載x64的版本即可。

如果啟動apache時提示php_oci8不是有效的win32程式,那肯定是版本搞錯了,下個正確的即可。

安裝Oracle Client

Oracle Instant Client 是一組可輕鬆安裝的免費庫,允許程式連線到本地或遠端 Oracle 資料庫例項。

很多教程都直接新增擴充套件而忽略了oracle客戶端的安裝,這樣php系統會報無法定位程式輸入點OCILobRead2 於動態連結庫OCI.dll上,很明顯嘛,Windows找不到oci.dll檔案

首先下載oracle客戶端 http://www.oracle.com/technet… 我這裡下的是 instantclient-basic-win32-11.1.0.6.0.zip 版本,注意一定要下與php相匹配的版本,如果你的php是32位的那oracle也要下32位的。

下載完后里面有oci.dll 這個檔案,當啟動了php的擴充套件後,找的也就是這個 oracle 檔案。那 php 怎麼找這個dll呢,加系統環境變數嘛,怎麼加就不說了,需要的話留言吧。

最後,取消 php.ini 檔案中php_oci8.dll的註釋然後重啟 Apache 即可

刪除以下程式碼行前的分號:
extension=php_oci8.dll

關聯文章