PHP отладка в Zend Studio плюс Денвер часть 1

PHP отладка Zend ДенверОтладка PHP скриптов в IDE Zend Studio довольно полезна в части выяснения трудных и непонятных мест. Часто без прогона PHP скрипта через Zend Studio невозможно выяснить что там и как. Но одно дело отладить PHP скрипт или его часть, это делается легко с использовением внутреннего сервера отладочной среды, и другое дело запустить полную отладку PHP скрипта сайта на базе локального сервера, например все того же сервера Денвер.

На многих блогах в сети описан способ php отладки в Zend Studio плюс Денвер с использованием браузера Firefox и Zend тулбара. Но самое интересное все то же самое можно делать и на базе встроеного в Zend Studio браузера где этот самый тулбар уже есть. Да и вообще в этом случае все немного упрощается. Кстати, прежде чем начать, небольшое отступление и на всякий случай Zend тулбары для браузеров IE и Firefor. Zend Toolbar для Internet Explorer, а точнее файл ZendIEToolbar.dll просто переносится в системную папу Windows командой regsvr32.exe из меню Пуск ", например если файл находится на диске С - regsvr32.exe "С:ZendIEToolbar.dll". Тулбар для Firefox устанавливается как плагин - его нужно открыть из основного меню запущенного Firefox командой "Ctrl+O" (File/Open File).

Прежде чем приступить к отладке скрипта сайта на базе Zend Studio плюс Денвер, необходимо иметь на компе уже установленный сервер Денвер, среду Zend Studio и библиотеки ZendDebugger, они бесплатны, их также можно получить и на сайте Зенда. Денвер, кстати с Zend Optimizer, можно скачать на данном ресурсе. Хотя последовательность подготовки для отладки сайта в Zend Studio одинакова для любой ее версии, но поскольку в данном посте будет показан процесс отладки проекта сайта на базе Zend Studio 5.5, то полезно найти в сети именно эту версию программы.

Перво наперво нужно установить нужную библиотеку ZendDebugger (файл ZendDebugger.dll) в папку с динамическими библиотеками PHP. Для того, чтобы узнать какую, в архиве ZendDebugger их несколько, нужно запустить Денвер, набрать в любом браузере "localhost" и на открывшейся странице в самом ее низу найти номер версии интерпритатора php приданного к серверу. Если допустим это Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.2.12 Server at localhost Port 80 (тоесть на сервере стоит php версии 5.2), то нужно остановить сервер и скопировать в папку с файлами сервера .../usr/local/php5/ext/ файл ZendDebugger.dll из соответствующей папки 5_2_x_comp с библиотеками ZendDebugger. Далее в блокноте открыть файл php.ini и прописать в нем следующие строки:

[Zend]
zend_extension_ts=X:usrlocalphp5extZendDebugger.dll
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

Обратите внимание на название виртуального диска. Здесь это X. Если у вас по другому то путь к файлу ZendDebugger.dll нужно прописать соответствующим образом. Если в php.ini уже присутствует блок [zend] с подлючение расширений zend оптимизера, то соответствующие строки небходимо закоментировать точкой с запятой, оставив только подключение библиотеки отладчика, как показано ниже по тексту иначе будет конфликт - Денвер работать не будет.

[Zend]
;zend_extension_ts = "/usr/local/php5/zend/ZendExtensionManager.dll"
;zend_extension_manager.optimizer_ts="/usr/local/php5/zend/"
;zend_optimizer.enable_loader = 1
;zend_optimizer.optimization_level = 15

zend_extension_ts=X:usrlocalphp5extZendDebugger.dll
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

Далее необходимо сохранить изменненный php.ini и проверить, что библиотека отладчика Zend в интерпретаторе php подключена. Для этого можно воспользваться индексным файлом cms на файлах Acvarif-CMS, кстати на ее базе далее и будет показан сам процесс отладки. Для этого нужно распаковать архив с cms в папку X:/home Денвера и любым текстовым редактором в файле index.php прописать строку phpinfo(); Затем нужно запустить Денвер и в любом браузере набрать acvarifcms.ru В окне браузера должна появиться информация о конфигурации php интерпретатора где обязательно должен будет присутствовать блок Zend Debugger показанный на картинке

phpinfo()

Теперь все впорядке, можно возвратить файл cms index.php в исходное состояние и запустить программу Zend Studio, создать в ней новый проект Project/New Project, поместив туда все файлы из директории X:/home/acvarifcms.ru/www

Новый проект в Zend Studio

и настроить отладчик программы выполнив из основного меню команду Tools/Preferences/ Debug, как показано накартинке.

Настройки Zend Debugger

Продолжение отладка PHP скриптов в Zend Studio следует.

Top.Mail.Ru