Напишу маленький мануал по установке xdebug на машину с windows xp + denwer.
В первую очередь напишу для себя чтобы не забыть потому что вылетает из головы это все быстро
xdebug расширение для php которое нужно для дебага и профилирования приложений. Ещё оно ошибки красиво подсвечивает :)
Это все бывает незаменимо когда вам нужно найти узкие места в приложении, и повысить его произовдительность.
Сначала нужно скачать сам xdebug это сделать можно вот тут :
http://www.xdebug.org/download.phpВам нужна версия для вашей версии php и апача.
1. Скачиваем dll файл складываем его в <путь где вебсервер лежит>/usr/local/php5/ext/
Там уже должно лежать несколько dll файлов расширений.
2. Открываем php.ini любым текстовым редактором, лежит он обычно в /usr/local/php5/php.ini
3. Вставляем туда строки:
[Zend]
;Xdebug
zend_extension=C:/WebServers/usr/local/php5/ext/php_xdebug-2.1.0-5.3-vc6.dll;
xdebug.default_enable = on
xdebug.auto_trace = 1
xdebug.collect_return = 1
xdebug.trace_output_dir = c:/xdebug/trace
xdebug.trace_output_name = trace.%H
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = c:/xdebug/profile
xdebug.profiler_output_name = cachegrind.out.%H%R
xdebug.remote_enable=On
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
Если вы используете php 5.2 то строкуzend_extension=C:/WebServers/usr/local/php5/ext/php_xdebug-2.1.0-5.3-vc6.dll;
нужно заменить на
zend_extension_ts=C:/WebServers/usr/local/php5/ext/php_xdebug-2.1.0-5.3-vc6.dll;
Если у вас уже есть секция Zend то лучше их вставить туда
Затем перезагружаем веб сервер
Открываем phpinfo(); и смотрим поставлся ли xdebug. Если вы нашли строку подобную Xdebug то все правильно, если нет - смотрите где вы ошиблись и почитайте логи апача.
Фишки и плюшки:
Теперь вам var_dump будет показыватся более красиво.
Вы сможете настроить дебаггер в eclipse/
Вы сможете читать логи и трейсы.
Чтобы изменить местоположение логов и трейсов
нужно отредактировать
xdebug.trace_output_dir = c:/xdebug/trace
эту и
xdebug.profiler_output_dir = c:/xdebug/profile
и эту строку
Кажется на этом все.
Чуть пожже напишу как поставить phpunit
PS. Не стоит ставить xdebug на боевую машину, он очень замедляет производительность системы, потому что обрабатывает каждую функцию.