Где расширение OCI8 в PHP/5.3.2?

Я развертываю приложение PHP, которое подключается к серверу Oracle 9i с помощью функций OCI8. Я установил последние официальные двоичные файлы для Windows (PHP/5.3.2), чтобы запустить его как модуль Apache 2.2 (т. е. установщик VB6+ts MSI). Однако расширения OCI8 больше нет в списке расширений: доступны только варианты Oracle (10) и Oracle (11g).

В руководстве по PHP ничего не говорится о том, что OCI8 устарел. Кроме того, нет ссылок на какие-либо расширения Oracle 10 или 11 :-?

Был ли OCI8 переименован? Что это за другие расширения?


person Álvaro González    schedule 13.05.2010    source источник


Ответы (1)


Архив php-5.3.2-Win32-VC6-x86.zip с windows.php.net содержит два dll модуля oci8, php_oci8.dll и php_oci8_11g.dll. Для их работы вам потребуется клиент 10g или 11g.
http://docs.php.net/manual/en/oci8.requirements.php говорит:

On Windows, OCI8 needs client libraries from version 10gR2 or greater. With some versions of Instant Client you may additionally need mfc71.dll and msvcr71.dll libraries.
[...]
Note: If OCI8 uses 9iR2 or 10g client libraries, then PHP can connect to Oracle Database 8i, 9iR2, 10g or 11g. If OCI8 uses 11g client libraries, the database can be 9iR2, 10g or 11g.
person VolkerK    schedule 13.05.2010
comment
Это проблема с именами в установщике MSI, не так ли? Я проверю библиотеки DLL, которые вы упомянули, и отчитаюсь. - person Álvaro González; 13.05.2010
comment
Если установщик действительно не содержит этих dll, вы все равно можете загрузить zip-архив, извлечь эти два файла в каталог ext/ вашей установки php, а затем отредактировать php.ini, чтобы php загружал модули. - person VolkerK; 13.05.2010
comment
Я предполагаю, что связанные библиотеки DLL верны, поскольку они начинаются с php_oci8_. Теперь Apache вылетает при запуске, но это уже другая история... - person Álvaro González; 13.05.2010