Настройка отладки в проекте на CodeIgniter

Наконец свершилось это чудо. Я все таки потратил полдня и мне удалось настроить отладку в CodeIgniter. Правда все равно вся эта конструкция работает через раз, с глюками и финтами, но все таки она работает.

Все операции производились на Denwer.

1. Настраиваем отладку в PHP

Скачиваем с http://xdebug.org/ библиотеку xdebug для отладки. Соответсвенно вашей версии PHP (посмотреть версию можно через http://localhost/Tests/PHP5/index.php5). Сохраняем ее в папку usr\local\php5\ext\ под именем php_xdebug.dll.
в usr\local\php\php.ini дописываем в конец файла

[XDebug]

zend_extension_ts = "Z:\usr\local\php5\ext\php_xdebug.dll" 

xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_output_dir="C:\WebServers\tmp\"

Перезапускаем денвер. Еще раз заходим в http://localhost/Tests/PHP5/index.php5 и ищем секцию Xdebug. Если она есть то все нормально.

2. Скачиваем Java SDK 6

Скачиваем java sdk 6 отсюда. И устанавливаем. Это необходимо для работы IDE NetBeans.

3. Скачиваем и устанавливаем NetBeans.

NetBeans скачиваем с их официального сайта http://netbeans.org/ сборку для PHP.

4. Скачиваем и устанавливаем плагин для Firfox
easy xDebug
Основная фишка заключается в этом плагине. Без него запустить отладку мне не удалось. Возможно это связано с форматом ссылок в моем проекте. У меня ссылки вида site.com/mycontroller/. После установки этого плагина в окне фаерфокса в нижнем правом углу появятся два зеленых значка. С помощью них можно будет управлять отладкой.

На этом этапе все подготовительные работы для запуски отладки готовы. Скажу сразу, что мне не удалось запустить отладку в phpDesigner (вернее она запускалась, но только при условии что не было загрузки $this->load, если же в контроллере встречалась такая загрузка и точка остановки стояло после нее phpDesigner упорно не хотел ее видеть). По этой причине пришлось использовать NetBeans.

5. Настройка NetBeans для отладки CodeIgniter

Нажимаем создать проект. Приложение PHP с существующим исходным кодом. Указываем папку проекта на Денвере. Указываем имя проекта, кодировку. Указываем local web site. В поле project url указываем адрес нашего сайта как он указан на Денвере. В поле index file оставляем index.php. После этого откроется рабочая среда NetBeans. Открываем в меню Сервис->Настройки. На вкладке «Общего назначения» выбираем браузер firefox.

На вкладке PHP снимаем галочки в чекбоксах Open result In:, ставим галочку Stop at First Line, остальные настройки не меняем. Нажимаем «ОК» сохраняем изменения.

Нажимаем завершить. На этом настройка NetBeans закончена.

6. Процесс отладки

Открываем любой контроллер. Становимся на строчку в которой мы хотим поставить точку остановки и нажимаем Ctrl+F8. Строчка будет выглядеть так.

Теперь запускаем отладчик. Нажимаем Ctr+F5. В нижнем правом углу NetBeans должна появится надпись «wating for connection».

После этого NetBeans запустит firefox, почему то со ссылкой в адресной строке


http://yourdomain.ru/index.php?XDEBUG_SESSION_START=netbeans-xdebug

И отладчик остановится на первой строке в файле index.php

Далее проделываем следующий финт:
Открываем новую вкладку в firefox. Ту вкладку которую открыл отладчик NetBeans закрываем. В адресной строке новой вкладки, которую мы открыли, вбиваем имя нужного нам контроллера (в котором мы установили точку останова). В нижнем правом углу окна firefox нажимаем на зеленую букашку (Start Xdebug session).

Нажимаем обновить (F5) в firefox. Возвращаемся обратно в NetBeans. Нажимаем в NetBeans F4 (Выполнить до курсора) несколько раз, пока процесс отладки не упрется в нашу точку остановки.

Все. Теперь удачно наслаждаемся отладкой.

This entry was posted in Web разработка and tagged , . Bookmark the permalink.

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