Как настроить отображение пути 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 будет предполагать, что вы запускаете через браузер) вам необходимо:

  1. Создайте конфигурацию запуска "PHP Script" с необходимыми аргументами для запуска приложения CLI.
  2. Настройте PHP-интерпретатор Remote CLI (я запускаю через IDEA, так что для меня это находится в Settings > Languages & Frameworks > PHP > CLI Interpreter, YMMV) и предоставьте ему учетные данные SSH, используемые для подключения к вашему бродячему ящику
  3. Запустите ваш скрипт через конфигурацию запуска в режиме отладки.

Если все настроено правильно, ваш 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

Другие вопросы по тегам