Однажды мы рассматривали установку и использование ZendDebugger для отладки php-кода в PDT Eclipse. Сейчас настал черед отладчика XDebug. XDebug позволяет не только работать в связке с IDE, но и имеет php-функции для профайлинга, вывода отладочной информации на страницах и другие интересные особенности. Подробную информацию вы сможете найти на официальном сайте XDebug. А в этом блоге будет обзор наиболее значимых возможностей этого отладчика. Давайте начнем с установки XDebug, как подготовительного шага перед знакомством с его возможностями.
Будем исходить из того, что у вас уже установлены apache, php и pdt-eclipse. Теперь вам необходимо выполнить следующие шаги:
- Устаноить пакет php5-xdebug (расширение для php)
- Перезагрузить Apache
- Открыть экран настройки через главное меню Eclipse
( Window → Preferences… → PHP → PHP Servers) - Добавить при помощи кнопки New новый сервер
(Поле «Name» может содержать что-то типа «My Site On localhost», ниже URL — «localhost» - Открываем экран настройки отладчика
Window → Preferences… → PHP → Debug - Там устанавливаем следующие настройки
PHP Debugger: XDebug
Server: My Site On localhost
PHP Executable: None Defined - Далее в Window → Preferences… → General → Web Browser вы можете добавить любимый браузер
Обратите внимание что на шаге номер 1, когда вы устанавливаете расширение xdebug для php, в зависимости от дистрибутива ОС, вам могу понадобиться настройки в php.ini, которые подключат расширение. OpenSUSE 11.1, на котором производилась установка не требует такового, так как расширение регистрируется в стандартной папке, которая уже указана в php.ini.
После этих настроек открыв любой файл отлаживаемого проекта вы можите установить точку останова (breakpoint) с помощью контекстного меню редактора кода, и в главном меню Eclipse выбрать Run → Debug as → Php Web Page. Появится диалоговое окно, в котором надо ввести URL страницы для отладки (Launch URL). Далее появится запрос о смене вида (Perspective) главного окна среды. Этот вид будет содержать секцию с кодом, секцию с точками останова, секцию со значениями переменных на каждом шаге и другие секции. И вы будите переброшены к ближайшей точке останова, которая встретится на пути выполнения скрипта интерпритатором.
Хотелось бы так же отметить, что Eclipse запоминает связь открытого файла и вызванного Launch URL. Поэтому, если вы будите вызывать отладку на том файле, на котором уже вызывали, то среда не будет повторно запрашивать Launch URL. Однако это может как помогать, так и мешать. Поэтому в среде есть возможность удаления связей файлов с url. Для удаления связей надо выбрать пункт Run → Debug Configurations. Появится диалог, в котором слева в разделе PHP Web Page можно увидеть страницы со связями и редактировать или удалять связи.
Так же отметим, что не всегда удобно чтобы в разделе настроек PHP Servers был установлен localhost как сервер по-умолчанию, потому что среда при запросе Launch URL заносит этот сервер туда, а так же запоминает связь страницы с этим сервером. Поэтому вы можете внести туда сервер, который чаще всего используете в работе и установить его сервером по-умолчанию.
Первое знакомство состоялось. В следующих статьях я буду стараться познакомить читателей с возможностями XDebug поближе.
Interesting site, Thanks!