Отладка PHP с помощью Eclipse?

Каков наилучший способ отладки PHP с Eclipse? В частности, я пытаюсь решить некоторые проблемы на установке Drupal 6.

Мне нравится отладка Eclipse для Java. Есть ли способ сделать то же самое для PHP?

Я никогда не использовал Eclipse для разработки в JAVA, но если вы спрашиваете о графическом отладчике, который позволяет настраивать точки останова, пройти текущую трассировку стека, увидеть содержимое переменных, и все, что есть (по крайней мере одно) решение:

Вы можете использовать расширение Xdebug , а Eclipse PDT – как IDE: второй может использовать первый в качестве отладчика и предоставляет для него интерфейс – что бы вы ожидали, если бы вы использовали визуальный отладчик на других языках / IDE.

Я использовал эту комбинацию пару раз с Drupal, чтобы увидеть, что было выполнено, в каком порядке, как и все это (нелегко получить «вручную», с мешанинами крючков) , и он определенно работает очень хорошо ,

В сети есть учебные пособия, в которых объясняется, как настроить оба из них для работы отладчика. Например :

  • Как настроить бесплатный отладчик PHP с помощью Eclipse PDT + XDebug
  • Настройка Eclipse для отладки Drupal с помощью XDebug (к сожалению, скриншоты отсутствуют)
  • Или (на французском, но с скриншотами, так что может быть полезно evn, если не легко понять):
    • Débugger avec WampServer, Xdebug et PDT
    • Конфигуратор Xdebug pour Eclipse PDT en utilisant un serveur de test удален

И вот скриншот того, как он может выглядеть (здесь я установил точку останова где-то в качестве backoffice of Dotclear) :

http://img.ruphp.com/php/eclipse-xdebug-debug-1.png

(Теоретически, нажатие на изображение должно привести вас к большей версии)

Значки поверх окон позволят вам делать такие вещи, как:

  • шаг за шагом
  • ввод / вывод из функций / методов

И вы также можете

  • см. содержимое переменных (вверху справа от скриншота)
  • у вас есть трассировка стека, где вы находитесь (в верхней левой части экрана)
  • конечно, видите, были ли вы в коде (внизу)

Я также слышал, что Eclipse PDT может использовать расширение Zend Debugger вместо Xdebug; но я никогда не пробовал это.

Вы можете добавить этот код в файл php.in для включения отладчика.

[XDebug] zend_extension = "D:\opt\lampp\php\ext\php_xdebug.dll" xdebug.remote_enable=On xdebug.remote_autostart=On xdebug.remote_handler=dbgp xdebug.remote_host="localhost" xdebug.remote_port=9000 xdebug.remote_mode=req