Программа не может запуститься, так как на вашем компьютере отсутствует php7.dll

Я пытаюсь развернуть OCI8 с PHP7 и Apache 2.4. База данных не находится на моем локальном компьютере. Он находится на другом сервере с версией Oracle 11g Enterprise и 64-битной архитектурой.

Я не могу загрузить oci8 на свой локальный ПК со следующими настройками

extension=php_oci8_11g.dll
extension_dir = c:\php\ext

путь в системных переменных корректно обновляется с помощью c:\php;

Я тщательно следовал инструкциям https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-084410.html

Я использую все версии с 64-битной версией, так как мой компьютер работает на 64-битной версии:

  1. mod_fcgid
  2. мгновенный клиент
  3. php7
  4. апач 2.4

phpinfo() отлично отображается в моем браузере, но не показывает таблицу для oci8. Затем я запускаю команду php -m в cmd, чтобы дважды проверить статус, но получаю следующее всплывающее окно:

The program cannot start because php7.dll is missing from your computer.
Try reinstalling the program to fix the problem.

И окно cmd показывает следующую ошибку:

Warning: PHP Startup: Unable to load dynamic library 'php_oci8_11g'
(tried: C:\php\ext\php_oci8_11g (The specified module could not be
found.), C:\php\ext\php_php_oci8_11g.dll (The specified module could 
not be found.)) in Unknown on line 0

В чем может быть проблема?


person oozmac    schedule 11.10.2018    source источник


Ответы (1)


Вместо этого я работал с extension=oci8_12c. Оказалось, что даже если удаленная база данных Oracle, к которой я пытаюсь подключиться, имеет версию 11g, последняя версия oci8 также поддерживает 11g. Это сработало: https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-12c-2088811.html

person oozmac    schedule 13.10.2018
comment
Как вы выяснили, у Oracle есть совместимость версий клиент-сервер. Двоичный файл PHP OCI8 должен соответствовать версии библиотек Oracle на «клиентской машине», то есть машине, на которой установлен PHP. Эти клиентские библиотеки Oracle могут подключаться к различным версиям БД. Таким образом, Oracle Client 18 и 12.2 могут подключаться к Oracle Database 11.2 или более поздней версии. Oracle Client 12.1 может подключаться к Oracle Database 10.2 или более поздней версии. Oracle Client 11.2 может подключаться к Oracle Database 9.2 или более поздней версии. - person Christopher Jones; 15.10.2018