Каков наилучший способ отладки PHP с Eclipse? В частности, я пытаюсь решить некоторые проблемы на установке Drupal 6.
Мне нравится отладка Eclipse для Java. Есть ли способ сделать то же самое для PHP?
Каков наилучший способ отладки PHP с Eclipse? В частности, я пытаюсь решить некоторые проблемы на установке Drupal 6.
Мне нравится отладка Eclipse для Java. Есть ли способ сделать то же самое для PHP?
Я никогда не использовал Eclipse для разработки в JAVA, но если вы спрашиваете о графическом отладчике, который позволяет устанавливать точки останова, проходить текущую трассировку стека, просматривать содержимое переменных и все, что есть (по крайней мере, одна) решение:
Вы можете использовать расширение Xdebug и Eclipse PDT в качестве IDE: второе может использовать первое в качестве отладчика и предоставляет для него интерфейс - то, что вы могли бы ожидать, если бы использовали визуальный отладчик на других языках. /IDE.
Я использовал эту комбинацию пару раз с Drupal, чтобы увидеть, что было выполнено, в каком порядке, как и все это (не легко получить "вручную", с механизмом хуков), и оно определенно работает довольно хорошо,
В сети есть учебники, которые объясняют, как настроить оба из них, чтобы заставить работать отладчик. Например:
И вот скриншот того, как это может выглядеть (здесь я установил точку останова где-то в офисе Dotclear):
(источник: pascal-martin.fr)
(Теоретически, нажав на изображение, вы получите увеличенную версию)
Значки в верхней части окна позволят вам сделать что-то вроде:
И вы также можете
Я также слышал, что Eclipse PDT может использовать расширение Zend Debugger вместо Xdebug; но я никогда не пробовал это.
Если вы по какой-либо причине не используете PDT, вы можете использовать CodeMix в качестве упрощенной альтернативы для отладки PHP в Eclipse. Конечно, вам все еще нужно установить 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