Я хочу подключиться к oracle из PHP. Я загрузил библиотеку php_oci8.dll, поместил ее в каталог ext php, определенный extension=php_oci8.dll
в файл php.ini и перезапустил веб-сервер. Я получаю сообщение об ошибке « Call to undefined function oci_connect()
. Я узнал, что php необходимо настроить с помощью --with-oci8=path_to_library
. Глядя на конфигурацию php (phpinfo ()), там говорится: --with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared
в разделе «команда configure».
Я работаю на машине с Windows 7.
Как я могу это изменить? И что еще я должен сделать, чтобы заставить его работать?
Спасибо!
Материал –with – это только если вы хотите скомпилировать библиотеку непосредственно в PHP. Если добавление аргумента 'extension' не загрузило библиотеку oracle, проверьте, изменили ли вы правильный php.ini. Или был указан правильный путь для .dll.
Обычно есть два php.ini. Один для операций веб-сервера и один для командной строки.
Вы можете узнать, что такое текущая конфигурация с помощью phpinfo()
. Если загрузится расширение Oracle, появится раздел с указанными опциями конфигурации.
Установите клиент Oracle на веб-сервере (я подозреваю, что вы этого не сделали). Вам нужно хотя бы что-то вроде Oracle Instant Client для подключения к Oracle.
Следуйте рекомендациям в руководстве по PHP о том, как настроить среду. На этой странице также есть хороший раздел об устранении неполадок BTW.
Я создал учебник по настройке PHP с Oracle на OS X. Может быть легко перенесен в Linux (хотя не забудьте загрузить драйверы Oracle 10, даже если вы используете Oracle 11).