2010-05-13 130 views
0

我正在部署一個使用OCI8函數連接到Oracle 9i服務器的PHP應用程序。我安裝了Windows的最新官方二進制文件(PHP/5.3.2),以便將其作爲Apache 2.2模塊(即VB6 + ts MSI安裝程序)運行。但是,OCI8分機不再位於分機列表中:唯一可供選擇的選項是Oracle (10)Oracle (11g)PHP/5.3.2中的OCI8擴展名在哪裏?

PHP手冊沒有提到OCI8被棄用。此外,沒有提及任何Oracle 10或11擴展: - ?

是否已將OCI8重命名?那些其他擴展是什麼?

回答

1

來自windows.php.net的檔案php-5.3.2-Win32-VC6-x86.zip包含兩個oci8模塊DLL,php_oci8.dll和php_oci8_11g.dll。您需要10g或11g客戶端才能工作。
http://docs.php.net/manual/en/oci8.requirements.php說:

在Windows上,OCI8需要版本10gR2或更高版本的客戶端庫。對於某些版本的Instant Client,您可能還需要mfc71.dll和msvcr71.dll庫。

注意:如果OCI8使用9iR2或10g客戶端庫,則PHP可以連接到Oracle Database 8i,9iR2,10g或11g。如果OCI8使用11g客戶端庫,則數據庫可以是9iR2,10g或11g。
+0

這是MSI安裝程序中的命名問題,不是嗎?我會檢查你提到的DLL並回報。 – 2010-05-13 12:24:20

+0

如果安裝程序確實沒有包含這些DLL,您仍然可以下載zip壓縮文件,將這兩個文件解壓到您的php安裝目錄下,然後編輯php.ini以便加載模塊。 – VolkerK 2010-05-13 15:06:01

+0

我認爲捆綁的DLL是正確的,因爲它們以'php_oci8_'開頭。現在,Apache開始崩潰,但這是另一個故事...... – 2010-05-13 15:12:33