У меня есть удаленный компьютер, на котором работает сервер Apache.Я хочу использовать Xdebug на своем локальном компьютере, используя PhpStorm, для отладки файлов PHP, расположенных на моем удаленном сервере.
Вот что я сделал на своем удаленном сервере Ubuntu:
1.apt-get install php7.2-xdebug
2.Перейдите в /etc/php/7.2/apache2/php.ini и добавьте:
[xdebug]
zend_extension=/usr/lib/php/20180731/xdebug.so
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.idekey=PHPSTORM
xdebug.remote_host=<my local machine IP without braces>
xdebug.remote_log="/var/log/xdebug.log"
xdebug.idekey=PHPSTORM
3.Перезапустите сервер Apache /etc/init.d/apache2 restart
4.Когда я создаю скрипт с echo phpinfo();
, он показывает, что Xdebug установлен «правильно» (я полагаю): он показывает раздел Xdebug со всеми переменными.
5.В PhpStorm я устанавливаю точку останова для файла и начинаю прослушивать входящие сеансы отладки. Я проверяю это, выполняя запрос netstat, который возвращает информацию о том, что мой Mac имеет свой процесс PhpStorm, прослушивающий порт 9000
6.В браузере Chrome я загружаю расширение Xdebug и открываю свой сценарий, в который я добавил точку останова.Соотношение между этим файлом, который я открываю в Chrome, и локальными файлами правильное.
7.Я нажимаю кнопку «отладка» в расширении Chrome, она становится зеленой.Я подтвердил, что файл cookie отправляется правильно, так как заголовки http имеют XDEBUG_SESSION=PHPSTORM
Несмотря на все это, я не могу достичь любого входящего сеанса на PhpStorm.
Iпопытался увидеть файл /var/log/xdebug.log
, который я зарегистрировал как файл журнала Xdebug, но этот файл пуст ....
Я что-то забыл?Я понятия не имею, что делать, это было 8 часов. Я на нем. Я видел все сообщения, связанные с ним, в StackOverflow, но у меня ничего не получалось (мне даже не удается получить что-то в /var/log/xdebug.log
, чтобы я мог видеть глубжев чем дело).Я понятия не имею, что Xdebug что-то делает, когда получает мой HTTP-запрос.