0

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

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

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

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

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

Разберем более детально,
Read more

0

Отладка сервера за NAT-ом

Если прямого доступа со стороны веб-сервера к вашему компьютеру нет, то описанная ранее схема работать не будет. Но если у вас есть доступ по SSH к веб-серверу, то поможет SSH туннель с вашей машины на сервер, в котором нужно прокинуть порт отладки к вам.

Настройка Xdebug

Перенастроем Xdebug, чтобы он смотрел на свой локальный хост (путь к файлу с настройками для Xdebug у  вас может отличаться, также можно добавить параметры xdebug в php.ini, но это не тру):

Не забываем перезагрузить веб-сервер, чтобы была прочитана новая конфигурация.

SSH Туннель (putty)

Разберем прокладку туннеля, на примере настройки SSH-клиента Putty:
Read more

0

Xdebug:Could not connect to client. :-(

Рассмотрим пример запуска отладки на удаленном веб-сервере, с конфигурацией, к примеру:

и при этом в логе Xdebug возникает ошибка «Сould not connect to client :(.»

Если файла лога нет или он пустой — нужно проверить установлен ли Xdebug и инициирован ли вашими параметрами (в phpinfo будет присутствовать раздел Xdebug с параметрами , которые вы указали в конфигурации).

Причин сообщения «Сould not connect to client :(.» может быть несколько:

1. Веб-сервер не может подключиться по порту отладки в IDE

2. Правила локальной политики безопасности сервера

Решение проблем:

Read more