Однажды мы рассматривали установку и использование ZendDebugger для отладки php-кода в PDT Eclipse. Сейчас настал черед отладчика XDebug. XDebug позволяет не только работать в связке с IDE, но и имеет php-функции для профайлинга, вывода отладочной информации на страницах и другие интересные особенности. Подробную информацию вы сможете найти на официальном сайте XDebug. А в этом блоге будет обзор наиболее значимых возможностей этого отладчика. Давайте начнем с установки XDebug, как подготовительного шага перед знакомством с его возможностями.

Будем исходить из того, что у вас уже установлены apache, php и pdt-eclipse. Теперь вам необходимо выполнить следующие шаги:

  1. Устаноить пакет php5-xdebug (расширение для php)
  2. Перезагрузить Apache
  3. Открыть экран настройки через главное меню Eclipse
    ( Window → Preferences… → PHP → PHP Servers)
  4. Добавить при помощи кнопки New новый сервер
    (Поле «Name» может содержать что-то типа «My Site On localhost», ниже URL — «localhost»
  5. Открываем экран настройки отладчика
    Window → Preferences… → PHP → Debug
  6. Там устанавливаем следующие настройки
    PHP Debugger: XDebug
    Server: My Site On localhost
    PHP Executable: None Defined
  7. Далее в 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 поближе.

Tags: , ,

One Response to “Установка XDebug в связке с PDT-Eclipse”

  1.  Elena Molchanova Says:

    Interesting site, Thanks!