XDebug и сервер RESTful с использованием PhpStorm или почтальона
Как я могу заставить клиента REST (например, встроенного в PhpStorm или Почтальона) работать с XDebug?
В моей текущей настройке XDebug, используя PhpStorm и предоставленный букмарклет , я могу заставить его работать как в Chrome, так и в Firefox, но как только я попробую с Postman или любым другим клиентом REST, я не могу понять, как его запустить.
Ваше здоровье.
4 answers
До http://youtrack.jetbrains.com/issue/WI-17031 будет реализован вы можете попробовать один из следующих подходов:
Настройте свой xdebug (отредактировав php.ini), чтобы попытаться отладить каждый php-скрипт (
xdebug.remote_autostart = 1
)Добавьте параметр начала сеанса xdebug к фактическому URL-адресу (
XDEBUG_SESSION_START={{KEY}}
-- http://xdebug.org/docs/remote ), например:?XDEBUG_SESSION_START=PHPSTORM
Передайте файл cookie xdebug в качестве одного из заголовков (тот, который задается букмарклет или расширение браузера, например)
Чтобы это сработало - убедитесь, что значок "ручка телефона" активирован (Run | Start Listen for PHP Debug Connection
) заранее.
Это сводило меня с ума. Я только что обновился до PHP 7.1, и xdebug, который работал, больше не работал. Я обновил файл xdebug.so
(Linux) и php --version
указал, что xdebug действительно загружается и работает. Но когда я использовал Postman, отладчик никогда не включался.
Вот решение. Если вы используете Apache в качестве своего сервера, вам необходимо включить моды PHP 7.1 и перезагрузить Apache: sudo service apache2 restart
xdebug.remote_timeout = 60000
Работал на меня. Поскольку мой Mac работал очень медленно, а время ожидания удаленного отладчика истекло через 200 мс (значение по умолчанию)
Https://github.com/tacnoman/dephpugger Эта библиотека запускает отладчик в терминале (например, ipdb для Python и Byebug для Ruby). Очень прост в использовании, и есть пример того, как запускать скрипты php cli и веб-сервер.