Я давно не писал PHP и давно не использовал Xdebug. В ближайшем будущем у меня есть простой сценарий для использования, просто запишите ключевые шаги.
Локальная отладка
Местная среда:
$ php -v PHP 7.3.4 (cli) (built: Apr 8 2019 10:21:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.4, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.4, Copyright (c) 1999-2018, by Zend Technologies with Xdebug v2.7.1, Copyright (c) 2002-2019, by Derick Rethans
Создание окружающей среды
//Install Xdebug $ pecl install xdebug
//Configure Xdebug $ vim /usr/local/etc/php/7.3/conf.d/ext-xdebug.ini
[xdebug] zend_extension="xdebug.so" xdebug.remote_enable=On xdebug.remote_port=9001 xdebug.idekey=PHPSTORM xdebug.remote_connect_back = 1
//Restart PHP service $ brew services restart [email protected]
Конфигурация IDE
Я ~/Загрузки/xdebug/ В каталоге размещен простой PHP-файл test.php Для тестирования используйте php -S 127.0.0.1:7790 Запустил службу HTTP. Пожалуйста, обратитесь к следующей конфигурации.
Несколько элементов конфигурации idea
Включите мониторинг
Демонстрация эффекта
После настройки установите точку останова в среде IDE и откройте ссылку в браузере, чтобы начать тест
http://127.0.0.1:7790/test.php?XDEBUG_SESSION_START=PHPSTORM
Эффект заключается в следующем:
Браузер не нужно устанавливать Помощник Xdebug Подключаемый модуль.
Удаленная отладка
Связанная с предыдущей статьей, эта статья посвящена удаленной отладке, в основном записи процесса
Местная среда:
# php -v PHP 7.2.16 (cli) (built: Mar 10 2019 21:22:49) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Xdebug v2.8.0-dev, Copyright (c) 2002-2019, by Derick Rethans
Создание окружающей среды
//If it has not been installed, it needs to be installed first # yum install -y php-devel gcc //Install Xdebug # cd /usr/local/src # git clone https://github.com/xdebug/xdebug.git # cd xdebug # ./rebuild.sh
//Xdebug configuration file # vim /etc/php.d/xdebug.ini zend_extension=xdebug.so xdebug.remote_enable=On xdebug.remote_port=11955 xdebug.idekey=PHPSTORM
//Restart PHP service # systemctl restart php-fpm # systemctl status php-fpm
Затем наступает ключевой момент. Не забудьте открыть конфигурацию выше xdebug.remote_port Номер порта, откройте этот номер порта, откройте этот номер порта, откройте этот номер порта.
Открытые порты различны для каждой системы. Их можно использовать в centos 7 брандмауэр-cmd Для работы
# firewall-cmd --zone=public --add-port=11955/tcp --permanent # firewall-cmd --reload
Конфигурация IDE
Конфигурация IDE отличается от конфигурации локальной отладки. Вообще говоря, есть два пути. Один из них-настроить его с помощью ide Удаленная отладка Вам необходимо настроить вход на удаленный сервер ssh Для выполнения удаленной переадресации портов на локальный для достижения аналогичной локальной отладки. Здесь я выбираю последний способ работы.
Удаленная переадресация портов
//Host is the configuration host name of the remote server in ~ /. SSH / config, which can be replaced by your one such as root @ 1.1.1.1 ssh -NT -R 11955:127.0.0.1:9001 HOST
Это позволяет сопоставить удаленный порт Xdebug 11955 с локальным 9001.
Конфигурация IDE
В отличие от конфигурации локальной отладки, хост и порт одинаковы в других местах.
Конфигурация PHP – серверов idea:
хост – это доменное имя удаленной веб-службы, порт Номер порта, предоставляющего службу для удаленной веб-службы.
В то же время обратите внимание, что вам необходимо проверить сопоставления путей И правильно настроить взаимосвязь сопоставления между удаленной и локальной средами каталога проекта, подлежащего отладке.
Конфигурация прокси-сервера dbgp idea PHP Xdebug:
измените хост и порт Настройку для удаленных веб-служб, как на предыдущем шаге
Демонстрация эффекта
После настройки установите точку останова в среде IDE и откройте ссылку в браузере, чтобы начать тест
После настройки установите точку останова в среде IDE и откройте ссылку в браузере, чтобы начать тест
Эффект заключается в следующем:
Опять же, браузеры не нуждаются в установке Помощника Xdebug подключаемого модуля.
Выше приведено все содержание этой статьи. Я надеюсь, что это поможет вам в вашем исследовании, и я надеюсь, что вы сможете больше поддерживать developepaer.