У меня было несколько проблем при выполнении основанных на PHP утилит в командной строке с тех пор, как я включил XDebug. Это работает очень хорошо при выполнении сценария через браузер, но после того как я пробую выполнение сценария на командной строке, это бросает следующие ошибки:
h:\www\test>@php test.php
PHP Warning: PHP Startup: Unable to load dynamic library 'E:\development\xampplite\php\ext\php_curl.dll' - The specified module could not be found in Unknown on line 0
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
h:\www\test>
Сценарий работает очень хорошо после этого но это - что-то, что я, может казаться, не переношу голову. Это могла быть проблема пути в моей конфигурации php.ini? Я не уверен, если это так, рассмотрение, что это бросает ту же ошибку, неважно, где я получаю доступ @php
переменная окружения.
Кроме того, все пути в рамках моего php.ini являются полными. Едва ли уверенный, что продолжается здесь.
Скорее всего, вы используете два разных файла .ini
:
Или, может быть, у вас та же проблема с PHP, который используется Apache, но вы не видите этого предупреждения, так как оно находится в журнале ошибок Apache - и это всего лишь предупреждение.
Решение, в основном, состоит в том, чтобы загрузить расширение Xdebug, используя:
zend_extension=/.../xdebug.so
вместо:
extension=/.../xdebug.so
Это именно то, что указывает сообщение об ошибке: Xdebug ДОЛЖЕН быть загружен как расширение Zend
- за исключением того, что он не говорит вам, как это сделать.
Примечание:
xdebug.so
- вы уже делаете это, и это хорошо (это все равно требуется) zend_extension
: Xdebug - это расширение, которое глубоко подключается к движку PHP Zend, что означает, что использования расширения
недостаточно. Для получения дополнительной информации и справки см. Страницу Установка / активация в документации Xdebug.