Я хочу настроить расширение php (php_ext.dll
) на Windows, но это расширение нужно использовать другие a.dll
файл (этот dll был построен мной).
PHP build ENV: vs2008 + win7
когда я строю php_ext.dll
, Я должен добавить a.lib
в проект расширения php.
После успешной сборки копирую a.dll
а также php_ext.dll
в php расширение dir, затем добавьте extension =php_ext.dll
в php.ini
,
Пока я бегу php -m
в команде Windows я вижу это расширение, но когда я запускаю Apache, это расширение не может быть загружено. Ниже приведен журнал ошибок Apache:
[warn] Init: Session Cache не настроен [подсказка: SSLSessionCache] httpd.exe: не удалось надежно определить полное доменное имя сервера, используя 10.64.74.148 для ServerNameПредупреждение PHP: Запуск PHP: невозможно загрузить динамическую библиотеку ‘C: \ php \ php_ext.dll’ — Указанный модуль не найден. \ R \ n в Неизвестно в строке 0
Это потому что с php -m
вы запускаете бинарный PHP, с Apache вы загружаете PHP как DLL.
В этом случае запускается порядок поиска dll: в первом случае обнаруживается a.dll, потому что он находится там, где находится бинарный файл php, но не обнаруживается при запуске бинарного файла apache, так как он не находится в своем каталоге, а также нет другого искомого каталога. ,
Вы можете скопировать папку a.dll do apache или любую другую искомую папку, например, c: \ Windows.
Других решений пока нет …