PHP: Отлаживаем скрипты командной строки на удаленной машине

01 Apr 2018

01-ПревьюОтладка бекенда на PHP уже ни у кого не вызывает проблем: достаточно правильно настроить расширение xdebug (или zend debugger), поставить  расширение в свой браузер и можно отлаживать, трассировать или профилировать бекенд.

Но что делать, когда нам требуется отладить консольную утилиту на удаленном сервере? В браузере выбрать пункте enable xdebug нельзя, а если у нас и получится передать IDE_KEY, то оно не знает, где располагается среда разработки и куда делать connect_back.

Это все легко решается одним маленьким скриптом (Важно сделать замечание: это будет работать только когда мы подключены по SSH).

#!/usr/bin/env bash  
IP=`echo $SSH_CLIENT | awk "{print $1}"`  
PHP='/usr/bin/php -d 'xdebug.remote\_host=${IP}' -d 'xdebug.remote\_autostart=1''  
$PHP $@

Теперь достаточно скомандовать

$ php-debug.sh yii

И на рабочей машине мы сразу увидим запрос на подключение.

02-Запрос на настройку путей