почему не работает xdebug на apache 2.2.11 и php 5.3
несколько дней у меня ушло на выяснение почему не работает. оказалось, если почитать логи ошибок logs\apache_error.log dll xdebug загружалась, но не могла запустится из-за разницы версий. У меня Zend Extension Build API220090626,TS,VC6 , а xdebug я загружал VC9. Информацию о текущей версии Zend Extension Build можно получить, если выполнить на php функцию phpinfo(); После того, как xdebug установлен, в информация о нем должна два раза появиться в результате функции phpinfo(); первый раз " with Xdebug v2.1.0rc1, Copyright (c) 2002-2010, by Derick Rethans" и второй раз в сексции xdebug со всеми параметрами. Я вначале думал, что проблема в клиенте, но потом сообразил, что пока я не получу подтверждения работы xdebug ( php_xdebug-2.1.0RC1-5.3-vc6.dll ), дальше двигаться не куда. Версия dll берётся по версии apache - 2.2.11 и php - 5.3 плюс версия Zend Extension Build - VC6, а так же, чтобы совпадала версия "безопасных средов" (Thread Safety enabled). об этом тоже в Phpinfo();.
еще у меня была проблема не удавалось запустить отладку, платный модуль качать не хотелось, не из-за денег, а как желание разобраться, что делаю не так. Оказалось, что параметр URL нужно давать idekey, то есть XDEBUG_SESSION_START=eclipse.
если bin\apache\Apache2.2.11\bin\php.ini содержит
zend_extension="C:/wamp/bin/php/php5.3.0/ext/php_xdebug-2.1.0RC1-5.3-vc6.dll"
xdebug.remote_enable=true
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.idekey=eclipse
То есть парамент URL как idekey в Php.ini. причём в комплекте идёт несколько Php.ini в разных папках, но читается один. Какой читается, можно узнать в phpinfo(); в моём случае это параметр - Loaded Configuration File C:\wamp\bin\apache\Apache2.2.11\bin\php.ini
на сайте разработчика важная информация, что с версии 5.3 всегда используется zend_extension вместо zend_extension_ts.
а когда я повторно подключал php_xdebug-2.1.0RC1-5.3-vc6.dll через extension=php_xdebug-2.1.0RC1-5.3-vc6.dll, то получал ошибку в logs\apache_error.log :
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
не правильная версия VC выдавала ошибку
Cannot load Xdebug - it was built with configuration API220090626,TS,VC9, whereas running engine is API220090626,TS,VC6
PHP Warning: PHP Startup: xdebug: Unable to initialize module\nModule compiled with build ID=API20090626,TS,VC9\nPHP compiled with build ID=API20090626,TS,VC6\nThese options need to match\n in Unknown on line 0
тем более не хотелось использовать другой дебагер, так как 2/3 людей пользуются им. значит, у всех работает, а у меня нет, значит косяки в настройках.
здесь интересный опрос http://habrahabr.ru/blogs/php/77902/
полезная информация http://www.xdebug.ru/ustanovka-xdebug-na-denver#comment-15
еще у меня была проблема не удавалось запустить отладку, платный модуль качать не хотелось, не из-за денег, а как желание разобраться, что делаю не так. Оказалось, что параметр URL нужно давать idekey, то есть XDEBUG_SESSION_START=eclipse.
если bin\apache\Apache2.2.11\bin\php.ini содержит
zend_extension="C:/wamp/bin/php/php5.3.0/ext/php_xdebug-2.1.0RC1-5.3-vc6.dll"
xdebug.remote_enable=true
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host=localhost
xdebug.idekey=eclipse
То есть парамент URL как idekey в Php.ini. причём в комплекте идёт несколько Php.ini в разных папках, но читается один. Какой читается, можно узнать в phpinfo(); в моём случае это параметр - Loaded Configuration File C:\wamp\bin\apache\Apache2.2.11\bin\php.ini
на сайте разработчика важная информация, что с версии 5.3 всегда используется zend_extension вместо zend_extension_ts.
а когда я повторно подключал php_xdebug-2.1.0RC1-5.3-vc6.dll через extension=php_xdebug-2.1.0RC1-5.3-vc6.dll, то получал ошибку в logs\apache_error.log :
PHP Warning: Xdebug MUST be loaded as a Zend extension in Unknown on line 0
PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
не правильная версия VC выдавала ошибку
Cannot load Xdebug - it was built with configuration API220090626,TS,VC9, whereas running engine is API220090626,TS,VC6
PHP Warning: PHP Startup: xdebug: Unable to initialize module\nModule compiled with build ID=API20090626,TS,VC9\nPHP compiled with build ID=API20090626,TS,VC6\nThese options need to match\n in Unknown on line 0
тем более не хотелось использовать другой дебагер, так как 2/3 людей пользуются им. значит, у всех работает, а у меня нет, значит косяки в настройках.
здесь интересный опрос http://habrahabr.ru/blogs/php/77902/
полезная информация http://www.xdebug.ru/ustanovka-xdebug-na-denver#comment-15

