ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить Xdebug и использовать его в PHP на Ubuntu

Когда какой-либо программный код генерирует неожиданный вывод, для решения проблемы требуется выяснить причину ошибки вывода. Отладка – лучший способ выяснить причину неожиданного вывода кода путем пошагового отслеживания кода.

Обычно функции print_r() и var_dump() используются для проверки вывода переменных. Расширение Xdebug используется в PHP для продвинутого уровня отладки. По умолчанию это расширение не установлено в PHP. Вы должны установить его и настроить необходимые конфигурации, чтобы использовать его функции. В этой статье показано, как расширение Xdebug может быть установлено и настроено в PHP и интегрировано с редактором кода Visual Studio в Ubuntu.

 

Установите Xdebug для PHP

Выполните следующую команду из терминала, чтобы установить расширение Xdebug для установленной версии PHP 7+.

$ sudo apt install php-xdebug

Настройте расширение Xdebug

Выполните следующую команду, чтобы создать файл конфигурации с именем xdebug.ini. Вы должны правильно указать путь к папке с доступными модами в зависимости от установленной версии PHP. Согласно пути, указанному в команде, в текущей системе установлен PHP версии 7.4.

$ sudo nano /etc/php/7.4/mods-available/xdebug.ini

 

Добавьте в файл следующие строки, чтобы установить необходимые конфигурации для включения расширения Xdebug для PHP.

xdebug.remote_autostart = 1
xdebug.remote_enable = 1
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_log = /tmp/xdebug_remote.log
xdebug.remote_mode = req
xdebug.remote_port = 9005 #this can be modified

Перезагрузите веб-сервер

Выполните следующую команду с правами root, чтобы перезапустить сервер Apache.

$ sudo service apache2 restart

Проверка установки Xdebug

Выполните следующую команду, чтобы проверить, правильно ли установлен Xdebug. Если расширение установлено правильно, следующая команда покажет информацию об установленной версии Xdebug с версией PHP.

$ php -v

Настроить Xdebug в VSCode

Если редактор кода Visual Studio открывается до установки расширения Xdebug, откройте его повторно. Откройте окно расширений , щелкнув меню «Вид» или нажав Ctrl + Shift + x. Введите «Отладка PHP» в поле поиска окна расширений. Вы получите следующую информацию, если расширение Xdebug правильно интегрировано с этим редактором.

 

Откройте файл конфигурации Xdebug, щелкнув «Добавить конфигурацию…» в меню « Выполнить», и установите необходимую конфигурацию в соответствии с файлом xdebug.ini.

Как установить Xdebug и использовать его в PHP на Ubuntu

 

Отладка PHP-скрипта с помощью Xdebug

Создайте файл PHP со следующим сценарием, чтобы показать способ использования отладчика Xdebug.

<?php
//Define a site type
$sitetype = "Search Engine";
//Define the site types
$site1 = 'yahoo.com';
$site2 = 'hi5.com';
$site3 = 'aliexpress.com';
//Check the value of the $sitetype variable
switch($sitetype)
{
//Define array based on the match and search site in the array
case 'Search Engine':
$array = Array ('google.com','ask.com','bing.com');
if(in_array($site1,$array))
echo "$site1 is a search engine site.";
else
echo "$site1 does not exist in the list.";
break;
case 'Social Network':
$array = Array ('facebook.com','twitter.com','snapchat.com');
if(in_array($site2,$array))
echo "$site2 is a social networking site.";
else
echo "$site2 does not exist in the list.";
break;
case 'E-commerce':
$array = Array ('aliexpress.com','ebay.com','daraz.com');
if(in_array($site1,$array))
echo "$site3 is a e-commerce site.";
else
echo "$site3 does not exist in the list.";
break;
default:
echo "Unknown site.";
}
?>

Выделите строку в скрипте и нажмите F9 или щелкните Toggle Breakpoint в меню Run, чтобы установить точку останова в скрипте; можно установить несколько точек останова. Нажмите кнопку «Выполнить» в левой части редактора, чтобы просмотреть подробные сведения об отладке. В следующих выходных данных две точки останова установлены в строке 5 и строке 13.

Как установить Xdebug и использовать его в PHP на Ubuntu

 

Теперь нажмите F5 или щелкните «Начать отладку» в меню «Выполнить», чтобы начать отладку с помощью Xdebug. Появится панель инструментов, как на следующем изображении для отладки, и скрипт остановит свое выполнение в первой точке останова в строке 5. В левом окне показано, какие переменные инициализируются и не инициализируются после выполнения скрипта в строке 5.

Как установить Xdebug и использовать его в PHP на Ubuntu

 

Первый значок на панели инструментов используется для продолжения сценария и перехода к следующей точке останова ( для этой цели можно использовать F5 ). Если нажать F5, после запуска отладки он перейдет к следующей точке останова в строке 13. В этой строке будут инициализированы некоторые переменные.

Как установить Xdebug и использовать его в PHP на Ubuntu

 

Второй значок используется для перехода по сценарию и перехода к строке согласно сценарию (для этого можно использовать F10).

Как установить Xdebug и использовать его в PHP на Ubuntu

 

Третий значок используется для перехода в строку точки останова (для этой цели можно использовать F11).

Как установить Xdebug и использовать его в PHP на Ubuntu

 

Четвертый значок используется для выхода из всех строк точки останова (для этой цели можно использовать Shift + F11). Пятый значок используется для перезапуска отладки (для этого можно использовать Ctrl + Shift + F5). Шестой значок используется для остановки отладки (для этого можно использовать Shift + F5).

 

Заключение

Xdebug – полезное расширение PHP, используемое для глубокой отладки скрипта. Это помогает кодеру легко найти причину сложных ошибок скрипта. Способ использования этого расширения отличается для разных редакторов. Здесь было объяснено, как это расширение для PHP может быть установлено и настроено для редактора Visual Studio в Ubuntu. Использование этого расширения для отладки также показано с помощью простого скрипта PHP. Эта статья поможет читателям, которые хотят изучить расширенный уровень отладки PHP-скрипта с использованием расширения Xdebug и редактора VSCode.

Exit mobile version