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.