Рубрики
Uncategorized

Освоение локальной и удаленной отладки PHP Xdebug (краткое описание)

Автор оригинала: David Wong.

Я давно не писал 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.