Расширение xdebug не загружено

У меня установлен xdebug (отображается в phpinfo ()), но я пытаюсь заставить его работать с функцией покрытия кода PHPUnit. Он все время говорит мне: «Расширение XDebug не загружено». У меня phpunit отлично работает с WAMP. Когда я запускаю php -m, я не вижу xdebug, указанного ни в модулях php, ни в модулях zend, что указывает на то, почему phpunit не находит расширение xdebug

Кто-нибудь имеет представление об этой проблеме?

Моя подробная конфигурация выглядит следующим образом: Windows 7 php 5.3.0 Apache 2.2.11 Zend Engine v2.3.0 Xdebug v2.1.0

Спасибо, Кришнен


person krishnen    schedule 29.09.2010    source источник


Ответы (6)


Есть ли у WAMP другой файл конфигурации для CLI и Apache? Я лично использую Ubuntu, но быстрый поиск в Google помог мне найти этот FAQ по WAMP

HTH.

person Robin    schedule 29.09.2010
comment
Привет, phpinfo указывает, что загружен следующий ini-файл C: \ wamp \ bin \ apache \ Apache2.2.11 \ bin \ php.ini ... который я изменил, добавил следующие настройки: [XDebug] zend_extension = C: \ wamp \ bin \ php \ php5.3.0 \ ext \ php_xdebug.dll xdebug.remote_enable = 1 - person krishnen; 29.09.2010
comment
Этот путь, то есть C:\wamp\bin\apache\Apache2.2.11\bin\php.ini, похоже, указывает на то, что вы изменили только файл конфигурации APACHE PHP, а не файл конфигурации CLI PHP. См. Ответ edorian, чтобы узнать, как узнать, какой файл конфигурации использует ваш CLI PHP. - person Robin; 29.09.2010
comment
ты прав! Я такой идиот ... Я добавил параметр zend_extension в другой файл конфигурации CLI PHP, и теперь он также работает в Windows. - person krishnen; 29.09.2010
comment
Этот FAQ с тех пор исчез. - person Ian Hunter; 14.12.2011

выполните php --ini, чтобы проверить, загружен ли файл конфигурации.
если у вас есть что-то вроде этого:

Загруженный файл конфигурации: (нет) < / strong>
Искать дополнительные файлы .ini в: (нет)
Проанализированы дополнительные файлы .ini: (нет)
< br /> Просто скопируйте свой php.ini в каталог windows;)

person Androideur    schedule 16.02.2011
comment
Когда пользователь загружает веб-страницу (что означает, что он использует apache), используется версия модуля php, и настройки этой версии отображаются функцией phpinfo (). Команда php --ini из командной строки показывает настройки для стенда -alone cgi версия php. - person skiabox; 23.11.2012

Введите php --ini в cmd и перейдите к показанному файлу php.ini.

Этот php.ini должен иметь конфигурацию XDEbug ...

Мой:

    
[XDebug]
; Only Zend OR (!) XDebug
zend_extension=C:\wamp\bin\php\php5.3.0\ext\php_xdebug-2.0.5-5.3-vc6.dll
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at /php/ext/php_xdebug.dll, without a version number.
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="c:\wamp\xdebug"
xdebug.var_display_max_depth = 10
xdebug.var_display_max_data = 2048

(обратите внимание на ломаные)

person Ricardo Martins    schedule 03.12.2010

Спасибо всем, кто ответил. Я повторил процедуру на рабочей станции ubuntu. На этот раз я скомпилировал все из исходников. Все работало до совершенства, и теперь я могу запустить phpunit с покрытием. Это должно быть проблема, связанная с Windows. Я просто воспользуюсь Linux-сервером для этого процесса. Если у вас возникнут проблемы с настройкой xdebug на Linux, я буду рад помочь!

person krishnen    schedule 29.09.2010

  1. откройте php.ini.
  2. найдите ; zend_extension
  3. удалите ; в начале ; zend_extension, чтобы включить его
  4. Убедитесь, что значение zend_extension является правильным каталогом для php_xdebug.dll.
person JM R.    schedule 18.09.2015

Вам нужно создать две символические ссылки:

  1. c: \ php - это символическая ссылка на вашу текущую папку php.
  2. c: \ windows \ php.ini - это символическая ссылка на ваш текущий файл php.ini.

Чтобы создать символическую ссылку в Windows, используйте команду mklink

e.g.

  • mklink / D c: \ php c: \ path \ to \ your \ php folder создает символическую ссылку на каталог
  • mklink c: \ windows \ php.ini c: \ path \ to \ your \ php \ php.ini создает символическую ссылку на файл

Кажется, что в окнах почему-то phpunit не видит фактических путей, и с помощью этих символических ссылок вы создаете для него виртуальные пути по умолчанию.

person Andrey Zausaylov    schedule 02.10.2013