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

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

Внимание : запуск PHP: невозможно загрузить динамическую библиотеку «D: \ Program Files \ xampp \ php \ ext \ php_oci8.dll» – указанная процедура не найдена. в Unknown в строке 0

Я сделал так:

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

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

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

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

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

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

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