PHP 5.3.1 не загружает php_oci8.dll в Windows

Я пытаюсь загрузить расширение oracle на php, но у меня возникает ошибка:

Предупреждение: Запуск PHP: невозможно загрузить динамическую библиотеку 'D: \ Program Files \ xampp \ php \ ext \ php_oci8.dll' - указанная процедура не может быть найдена. в Неизвестно в строке 0

Я сделал до сих пор:

  1. Включен в путь Windows полный путь клиента мгновенного обновления Oracle
  2. на php.ini extension_dir указывает в нужное место
  3. на php.ini extension=php_oci8.dll в порядке
  4. перезапустил апач, и ничего не работает.

person thclpr    schedule 10.10.2012    source источник
comment
Вы пробовали установить extention_dir полностью? Вы пробовали очистить extention_dir и установить extention=php.oci8.dll полностью? Вы уверены, что php_oci8.dll подходит для вашей машины (32- или 64-битной?)   -  person Eun    schedule 10.10.2012
comment
Я считаю, что каталог расширений работает, потому что я могу успешно подключиться к базе данных mysql и postgresql. Используемый им php_oci8.dll был установлен с xampp. Используемый компьютер - 32 бита, поэтому файл dll.   -  person thclpr    schedule 10.10.2012
comment
PHP 5.3.1? Почему вы используете такую ​​устаревшую версию? Текущая версия - 5.3.17. Между этими версиями было много исправлений, включая множество исправлений безопасности.   -  person Spudley    schedule 11.10.2012
comment
Потому что я просто это для базы данных личных книг / DVD. Не нужно ничего обновлять :)   -  person thclpr    schedule 11.10.2012


Ответы (6)


Проблема решена копированием файлов orannzsbb11.dll, oci.dll и oraociei11.dll в c: \ windows \ system32

person thclpr    schedule 10.10.2012

Я решил эту проблему, добавив «C: \ Program Files (x86) \ PHP \ v5.3 \ ext» к моей переменной среды Windows PATH. Вам просто нужно не забыть изменить путь, если вы обновляете PHP. Я думаю, что это лучше, чем копирование dll, которое может привести к проблемам в будущем, если у вас будет несколько dll с разными версиями на одном компьютере.

person Dwayne Driskill    schedule 09.04.2013
comment
Мы обсудили эту проблему, но решили, что лучше добавить dll в папку system32. Спасибо за предложение :) - person thclpr; 09.04.2013

Вам нужно будет загрузить клиент Oracle Instant по этой гиперссылке http://www.oracle.com/technetwork/topics/winsoft-085727.html. Добавьте путь к мгновенному клиенту в переменные пользовательской среды и системные переменные.

person Hidaya Sekkal    schedule 13.02.2015

Для меня это было вызвано отсутствием установленного распространяемого пакета Visual C ++ для Visual Studio 2008 SP1 (для VC9). Мне пришлось получить пакет x64, так как я использую 64-разрядную версию Windows 7. Надеюсь, это поможет кому-то с той же проблемой. После его установки PHP больше не сообщал об этих ошибках.

person ivarrian    schedule 20.05.2013

Возможно, для некоторых это совершенно очевидно, но изначально не для меня: если вы все еще видите эту The specified procedure could not be found. in Unknown on line 0 ошибку, даже после установки мгновенного клиента, SDK и т. Д., Убедитесь, что вы поместили путь мгновенного клиента Oracle в свой системная переменная "PATH", а не переменная пользователя, поскольку пользователь, очевидно, не привыкает при запуске Apache. Вы можете убедиться, что мгновенный клиентский путь установлен правильно, просмотрев значение PATH, показанное в вашем выводе phpinfo ().

person alexkb    schedule 11.02.2015

Я обнаружил, что основная причина этой проблемы - версия драйвера oci8 для oracle. Наконец, я смог подключиться к Oracle и шаги, которые я описал здесь на http://angularcode.com/connecting-php-to-oracle-database-10g/

person Swadesh    schedule 27.01.2014
comment
Ссылка на вашу статью возвращает ошибку 404 страница не найдена. - person SaschaM78; 07.01.2021