0

Отладка консольного приложения php на примере yiic

Когда встает вопрос отладки кода скрипта php запущенного в режиме командной строки многие впадают в ступор.

Разберем на небольшом примере отладку консольной команды фреймворка yii (CConsoleCommand).

Для того, чтобы xdebug на сервере смог подключиться к клиенту для обмена отладочной информацией текущей сессии, нужно установить или передать индивидуальные параметры xdebug в php запущенный в режиме CLI SAPI.

К примеру, для отладки консольной команды yii, можно создать простой скрипт, который при запуске установит параметры xdebug модуля в систему и запустит yiic:

Разберем более детально,
к примеру, у нас имеется простая консольная команда yii:

При условии, что отладчик корректно работает через запуск скрипта посредством веб-сервера (HTTP запроса), можно поставить точку останова (breakpoint) на строке вывода текста и инициировать отладку через консоль, при помощи вышеупомянутого скрипта:

В данном случае перед запуском php-скрипта в систему будут импортированы параметры xdebug.idekey, xdebug.remote_host, xdebug.remote_port с описанными значениями, произойдет инициация подключения xdebug к клиенту и breakpoint отработает. Теперь модуль отладки знает куда и что нужно делать. Их нужно установить аналогичные установкам в php.ini (xdebug.ini) для веб-сервера.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *