Использование XDebug с Eclipse PDT и XAMPP - PullRequest
2 голосов
/ 12 марта 2011

Я не могу отладить скрипт PHP как скрипт. Он всегда заканчивается сразу после запуска. Я установил журнал Xdebug в своем php.ini, но это совершенно бесполезно. Xdebug отображается в моем phpinfo (), поэтому я знаю, что он загружен в Apache.

Я также могу отлаживать код в виде веб-страницы (которая не предоставляет никакой информации о переменных и, тем не менее, не останавливается на точках останова), поэтому я знаю, что Eclipse имеет правильные настройки сервера. Обе опции отладки используют один и тот же исполняемый файл PHP (тот, который установлен с XAMPP, php 5.3.1, скомпилированный с помощью компилятора vc6). Я убедился, что компиляция Xdebug соответствует этим настройкам.

На, возможно, связанной ноте: я заметил, что могу загружать Xdebug только командой zend_extension, а не zend_extension_ts, даже если моя версия PHP действительно поточно-ориентированная? Я должен признать, что меня это немного смущает.

Я также убедился, что везде, где я мог выбрать «XDebug» в Eclipse, я сделал. Я следовал двум урокам, но безрезультатно. У кого-нибудь есть идеи? Я попробовал версию Xdebug в комплекте с моим XAMPP (2.0.6-dev), а также скачал новый .dll, версия 2.1.

Спасибо!

Ответы [ 2 ]

6 голосов
/ 03 октября 2011

Отличная инструкция по установке XDebug на XAMPP и Eclipse @ user629300 Инструкции хороши для версий Eclipse до 3.5, см. ссылки, чтобы получить инструкции для инструкций на основе версий. Также Как заставить XDebug работать с apache xampp для отладки php , есть картинки с хорошими объяснениями. Хотя они немного несвежие.


Сводка деталей из первой ссылки, при условии, что PHP> 5.3 (что, надеюсь, все сейчас работают!):

  • Убедитесь, что ваш файл php.ini содержит следующее:

    [XDebug]
    zend_extension={xampp-folder}\php\ext\php_xdebug.dll
    xdebug.remote_enable=1
    xdebug.remote_host="localhost"
    xdebug.remote_port=9000
    xdebug.remote_handler="dbgp"
    
  • Удалите все записи конфигурации под заголовком [Zend], особенно те, которые начинаются с zend_extension
  • Настроить Eclipse:
    • в Окне -> Настройки -> PHP -> Серверы, настройте сервер PHP на использование XDebug, добавьте базовый URL и локальный веб-корень
    • in -> Установленные отладчики, настроить XDebug для приема удаленных сессий
    • (необязательно?) Настроить исполняемый файл PHP так, чтобы он указывал на php.exe в вашей установке XAMPP

Теперь вы сможете использовать точки останова в Eclipse, добавив XDEBUG_SESSION_START в строку запроса вашего URL, например, http://localhost/?XDEBUG_SESSION_START.

0 голосов
/ 27 марта 2011

сначала скачайте dll для xDebug, затем отредактируйте файл php.ini zend_extension_ts = «C: \ xampp \ php \ zendOptimizer \ lib \ ZendExtensionManager.dll», убедитесь, что строка не закомментирована, перезапустите apache, убедитесь, что вы редактируете правильный phpINI-файл

...