Как настроить отображение пути PhpStorm Remote Xdebug
У меня есть установщик и докер, который запускает мое приложение. В этом докере машина xdebug включена с этими настройками xdebug.ini.
zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.remote_enable=on
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_host=10.5.0.1
IP моей локальной машины 10.5.0.1
Когда я пытаюсь запустить приложение в командной строке, оно подключается к отладчику PhpStorm. Но из-за отсутствия отображения пути он останавливается на первой строке скрипта, точки останова не работают. Курсор точки останова не виден, я не могу отследить код F8
ключ.
Кроме того, он должен показывать какую-то ошибку отображения пути. Отладчик-> Переменные окна, но он не показывает никакой ошибки.
Как это исправить?
5 ответов
Настройки > языки и рамки> php > серверы Добавьте свой сервер и добавьте свой путь! Примером может быть C:\Sites\mysite, сопоставленный с удаленным /var/www/mysite или аналогичным
Я мог бы решить эту проблему, PhpStorm не может справиться, если serverName
не настроен.
Что делать:
1. Настройте переменные среды:
export XDEBUG_CONFIG="idekey=PHPSTORM"
export PHP_IDE_CONFIG="serverName=web_server_cli"
2. Настройте сопоставление путей для этого имени сервера:
Идти к Settings > Languages & Frameworks > PHP
и создать сервер с именем хоста web_server_cli
Вам необходимо настроить "серверную" конфигурацию в "Настройки> Языки и фреймворки> PHP > Серверы", которая сопоставляет пути, как видно на сервере, с путями в вашем проекте.
Обычно вы вводите URL-адрес в "Host" и устанавливаете "Port" в качестве порта HTTP, например, 80 или 443. Для сценариев CLI информация, вводимая здесь, будет зависеть от вашего подключения к серверу, на котором выполняется сценарий CLI., Например, если вы используете SSH на 192.168.42.42 на стандартном порту SSH (22), вы должны ввести "Host: 192.168.42.42" и "Port: 22".
Чтобы выяснить, какие сведения необходимо настроить, перейдите в "Настройки> Языки и фреймворки> PHP > Отладка", включите "Принудительный разрыв в первой строке, если не указано сопоставление пути" и убедитесь, что "Игнорируются внешние подключения через незарегистрированный сервер". конфигурации " не отмечен. Затем нажмите "Прослушивать отладочные соединения" на панели инструментов и запустите ваш скрипт; должно появиться диалоговое окно с указанием "Имя сервера:" и "Порт сервера:", которое он пытается сопоставить, а также подтверждение пути к удаленному файлу. Нажмите "Игнорировать" в этом диалоговом окне, настройте сопоставление сервера и попробуйте снова, и вы должны получить правильный сеанс отладки.
Из вашего комментария к ответу @delboy1978uk похоже, что вы хотите отладить скрипт PHP, который вы запускаете из командной строки. Для эффективной отладки, а не отладки с помощью конфигурации запуска "Удаленное приложение PHP" (которую PHPStorm будет предполагать, что вы запускаете через браузер) вам необходимо:
- Создайте конфигурацию запуска "PHP Script" с необходимыми аргументами для запуска приложения CLI.
- Настройте PHP-интерпретатор Remote CLI (я запускаю через IDEA, так что для меня это находится в
Settings > Languages & Frameworks > PHP > CLI Interpreter
, YMMV) и предоставьте ему учетные данные SSH, используемые для подключения к вашему бродячему ящику - Запустите ваш скрипт через конфигурацию запуска в режиме отладки.
Если все настроено правильно, ваш CLI-скрипт запустится и будет правильно использовать точки останова.
В моем случае была ошибка:
«Путь к удаленному файлу '/var/www/my_project/vendor/magento/framework/Profiler/Driver/Standard.php' не сопоставлен ни с одним путем к файлу в проекте"
«Нажмите, чтобы настроить сопоставление путей» https://stackru.com/images/bc38d9b0639312f4cf6d5e651905770fc3338c81.png
Нажмите «Нажмите, чтобы настроить сопоставление путей».
Откроется всплывающее окно https://stackru.com/images/52353c5e05fa3806d59d6b93162b9a817b9e8a41.png
Выберите путь из списка https://stackru.com/images/7c54fabd92f5c9a5bd148a292304932cce46e47c.png
Нажмите ОК https://stackru.com/images/f0b85983588a8bd002908e5266ab6a329f2f5e02.png