Наверное, каждый PHP-программист отлаживал свои программы с помощью echo, print_t и var_dump. Это неправильно, да и неудобно. Может быть, когда раньше не было удобных средств отладки, такие выводы в поток казались приемлемыми, но сейчас ситуация радикально иная. Есть отличные средства отладки PHP-приложений, например, Xdebug. В этой статье я расскажу, как скрестить его с популярным текстовым редактором Notepad++.
Собственно, зачем это делать? Ведь кроме Notepad++ существует множество IDE для разработки, тот же Netbeans весьма неплох, и имеет встроенную поддержку Xdebug. Ответ прост: Notepad++ легкий и шустрый, в нем нет ничего лишнего, этим он и полюбился многим.
Рассмотрим по шагам, что нужно сделать, чтобы отлаживать PHP-приложения в Notepad++ через Xdebug.
1 Скачать и установить Notepad++, аналогично - PHP. Этот шаг тривиален, его опускаем :)
2 Загрузить Xdebug нужной версии. Правильная версия зависит от того, какой установлен PHP. Разработчики Xdebug большие молодцы, они сделали очень полезную вещь: достаточно скопировать содержимое вывода функции phpinfo() в специальную форму, и визард сам определит и выдаст вам ссылку на подходящую версию Xdebug. Другие версии попросту не заработают.
3 Сохранить загруженную dll в папку расширений PHP (обычно ext).
4 Добавить конфигурацию в конец файла php.ini. У меня такие строки:
zend_extension = C:\PHP5\ext\php_xdebug-2.2.3-5.3-vc9.dll xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=127.0.0.1 xdebug.remote_port=9000 xdebug.idekey=xdebug
Разумеется, для более тонкой настройки Xdebug существует множество других параметров, можно посмотреть в мануале.
5 Перезапустить Apache, проверить вывод phpinfo(), среди модулей должен появиться Xdebug.
6 Переходим к Notepad++. Надо скачать плагин DBGP и скопировать его dll в папку плагинов Notepad++ (обычно C:\Program Files\Notepad++\plugins).
7 Перезапустить Notepad++, открыть меню , там должен появиться подпункт . Выбираем , чтобы настроить плагин. Чтобы просто опробовать функционал, поставьте настройки:
Remote Server IP - 127.0.0.1 IDE KEY - xdebug Remote Path и Local Path - путь к рабочей папке приложения, которое будете отлаживать.
Дальше, если понравится, можно изучить дополнительные опции.
8 Выбрать пункт меню . В нижней части Notepad++ откроется достаточно простое окно для дебага, с кнопками останова, и т.д. Например, если хотим сделать где-то стоп, наводим курсор на строку и жмем красный кружок.
9 Перейти в браузер, вызвать приложение, которое хотим отладить, но с параметром:
?XDEBUG_SESSION_START=session_name
Здесь session_name - любая строка, для вашего удобства, чтобы различать сессии отладки.
10 Как только приложение «наткнется» на точку останова, замигает окно Notepad++. Перейдите в него, там будет видно, что программа остановилась на вашей точке. Дальше как обычно: можно совсем прервать, продолжить, сделать шаг вперед и т.д.
Ну вот, таким образом можно легко отлаживать PHP-приложения даже в легковесном Notepad++. Какие среды разработки и отладки PHP используете вы? Пишите в комментариях :)