Я установил последний пакет XAMPP, который включает PHP 5.3.0. Я пытаюсь включить Xdebug, но он просто не будет работать.
Вот то, что я изменил в php.ini, поставленном с XAMPP:
; uncommented
zend_extension = "X:\xampp\php\ext\php_xdebug.dll"
; added the following lines:
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
Apache запускается прекрасный, но когда я открываюсь http://localhost/
в моем браузере я получаю следующую ошибку:
Если я нажимаю Close the program
кнопка, сообщение об ошибке вновь появится через секунду, как будто это было в бесконечном цикле. Я был бы очень признателен за любую справку в том, чтобы заставлять это работать.
Я выполняю новую установку 64-разрядного Windows 7 Ultimate.
Править: От результата phpinfo ():
Zend Extension Build API220090626,TS,VC6
PHP Extension Build API20090626,TS,VC6
Debug Build no
Thread Safety enabled
It's possible you have the wrong version of Xdebug. I would take a look at phpinfo() and compare the information there to the different versions of the Xdebug dll.
Specifically, you want to see if "Thread Safety" is enabled, and you need to know whether you're running a VC6-compiled PHP or a VC9 (if you're using Apache, it's almost guaranteed that you want the VC6).
Да, существует известная проблема - почти невозможно заставить Xdebug работать с последней версией Xampp и 64-битной Vista / Win 7.
Есть ошибка сообщил, что многие пользователи жалуются на это.
Решение, похоже, последняя бета-версия на Xampp . Он включает версию 2.0.6 (dev) xdebug и работает нормально.
Я тестировал его на 64-битной Vista примерно 10 дней и пока не обнаружил никаких проблем.
Как уже говорили другие, вам необходимо сопоставить версию xdebug с версией php.
Вы уже сопоставили номер версии PHP, безопасность потоков и компилятор.
Если вы еще этого не поняли (это старый поток), вам не хватает конфигурации INI. Если вы загружаете потокобезопасный модуль, вам необходимо использовать следующую строку:
zend_extension="C:\Path\To\The\Extension.dll"
Если модуль не потокобезопасный, то вы используете директиву INI, которую вы пытались использовать.
Это применимо только к zend_extension, а не к обычным расширениям.