Xdebug с PhpStorm / Idea и Symfony в docker-compose: ломается только в первом файле index_dev.php - PullRequest
0 голосов
/ 05 марта 2019

Я использую Idea Ultimate с плагином PHP.phpinfo() кажется нормальным, и я проверил конфигурацию сценарием идеи.

enter image description here

Используется запрос http://localhost:8080/web/index_dev.php/create-file.Я могу поставить точку останова где-нибудь в index_dev () или использовать xdebug_break ();

Но я не могу остановить один файл позже, например, контроллер Symfony.

У меня есть сообщение, говорящее Debug session was finished without being paused и предлагаю сопоставление между экземпляром докера и моим локальным томом.

enter image description here

Выглядит хорошо, и он может найти index_dev.phpвнутри этого основного каталога.

Так в чем же проблема?

1 Ответ

0 голосов
/ 05 марта 2019

Прежде всего, вам нужно проверить IP-адрес, я полагаю, вы находитесь на Linux.Поэтому попробуйте сделать

ifconfig

А затем найдите строку "docker0" и примите значение "inet".Замените им значение удаленного хоста.Обычно IP-адрес докера выглядит как «172.17.0.1».

Пожалуйста, также проверьте, что у вас есть определение idekey в вашей конфигурации Xdebug докера

idekey=PHPSTORM

Так что измените его и попробуйте запустить снова.

Если это не решитВаша проблема, подумайте о правильной настройке удаленного сервера xdebug в PHPStorm.

  • В Настройки> Языки и рамки> PHP> Отладка : измените порт по умолчанию на 9000
  • Создайте сервер в Настройки> Языки и рамки> PHP> Серверы с этой информацией

    1. Имя: все, что вы хотите
    2. Хост: Ваш хост приложения(у меня часто "localhost")
    3. Порт: порт вашего приложения (мой 80)
    4. Нажмите «Применить», затем «ОК»
    5. Закрыть настройки
  • Теперь вам нужно настроить удаленную отладку, которая будет прослушивать соединение

    1. В PHPSTORM вверху слева нажмите « Редактировать конфигурацию "
    2. Нажмите + и выберите Удаленная отладка PHP
    3. Введите любойжелаемое имя 4 Сервер: выберите предыдущий сервер, созданный на панели настроек
    4. Введите IDE_KEY: PHPSTORM
    5. Нажмите «Применить», затем «ОК»
    6. Затем нажмите на маленького «жука» (когда вы наводите курсор мыши, он появляется « Debug» {имя удаленного сервера, которое вы определили ранее} ' "

    7. Добавьте точку останова в первой строке контроллера, который вы хотите отладить

    8. В вашем браузере перейдите на соответствующий маршрут
    9. Тогда волшебство случится !!!!!

Надеюсь, это помогло вам.

...