Zend сервер в Windows не загружает php_ibm_db2.dll

Я провел весь день, пытаясь заставить свой Zend Server на локальном хосте (Windows 8) читать файл DB2 в системе i5.

Я следовал многим руководствам и читал ответы на похожие вопросы, а теперь:

  • На моей машине установлен ibm express-C
  • У меня есть php_ibm_db2.dll в папке ext\
  • application.ini имеет расширение =php_ibm_db2.dll, указывающее на нужную папку
  • путь моей переменной среды имеет [...]C:\Program Files\ibm\gsk8\lib64;C:\Program Files (x86)\ibm\gsk8\lib;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\Samples \ РЕПЛ;

Но перезагружая сервер, в журналах я нахожу "Предупреждение PHP: Запуск PHP: не удается загрузить динамическую библиотеку" C:\Program Files (x86)\Zend\ZendServer\lib\phpext\php_ibm_db2.dll'"

Даже если это правильный путь к DLL.

И сервер не распознает db2_connect() (не определено)

Есть идеи о том, что происходит? Возможно ли, что Windows 8 64bit является проблемой?

2 ответа

На что указывает extension_dir в application.ini. Похоже, вы указали extension = и extension_dir тоже имеет какое-то значение. Следовательно, 2 пути могут быть добавлены, что приведет к ошибке

Не могли бы вы проверить вышеизложенное, если дело обстоит так, и попробовать, исправив путь в extension_dir и только имя модуля (php_ibm_db2.dll) в расширении.

Спасибо

Praveen

Я предполагаю, что DLL скомпилирована для несовместимой версии PHP. Вы можете получить альтернативную сборку расширения здесь: http://sourceforge.net/projects/db2mc/files/IBM_DB2%20PHP%20Driver%20for%20Windows/

Я не вижу сборки для PHP 5.5. Это может означать, что вы не сможете заставить его работать с PHP 5.5 без его компиляции.

Для PHP 5.4 обратите внимание на разницу между установками PHP ts (threadsafe) и nts (non-threadsafe).

Для более старых версий PHP, убедитесь, что вы взяли что-то, созданное совместимым компилятором Вы, вероятно, хотите VC9 (Visual C++ 9), поскольку это соответствует официальной загрузке PHP.

Другие вопросы по тегам