Настройка удаленной отладки в Zend Studio 5.5
Решил написать эту статью, после того как недавно перешел с версии студии 5.1 на версию 5.5.
Дело в том что до этого у меня для отладки локально стоял Zend Studio Server 5.1 а при установке новой версии вроде бы для этих в том числе целей ставится Zend Platform, который требует Zend Core.
Так вот, все бы ничего, но когда я все это поставил на локальный Денвер, который использую как быстро разворачиваемую платформу для разработки (при установку Zend Platform указал что у меня есть апач и направил ее в root папку), то обнаружил, что мой Денвер перестал вообще на чтобы то нибыло реагировать, т.е. он запускался, но запросы обрабатывать не хотел.
Потом немного поковырявшись, пришел к выводу, что для моих целей, а именно отладки приложений, мне совсем нет необходимости в Zend Platform и соответственно Zend Core.
На самом деле для этих целей достаточно скачать и установить Zend Debugger-5.2.12 версия для windows здесь или более полный набор версий в том числе под linux здесь
Вся нехитрая установка описана в принципе в Readme который есть в архиве, но я все же опишу процедуру установки на windows платформе здесь:
- Распаковываем содержимое архива
- Выбираем папку с соответствующей вашей версией php и копируем находящийся в ней файл ZendDebugger.dll в какую-то общедоступную папку.
- Затем добавляем в файл php.ini, следующие строки: [php] zend_extension_ts="путь к файлу ZendDebugger.dll" у меня zend_extension_ts="c:\WINDOWS\system32\ZendDebugger.dll" zend_debugger.allow_hosts=разрешенные для запуска отладчика хосты у меня zend_debugger.allow_hosts=127.0.0.1/32 zend_debugger.expose_remotely=allowed_hosts или zend_debugger.expose_remotely=always [/php] а также не лишне добавить настройки самого отладчика, при этом порты на которых он висит вам нужно будет открыть в настройках вашего фаервола. У меня эта секция выглядит так [php] debugger.enabled=on debugger.profiler_enabled=on debugger.hosts_allow=127.0.0.1 debugger.hosts_deny=ALL debugger.ports=7869, 10000/16 [/php]
- Теперь нужно перезапустить вебсервер
После всех описанных манипуляций phpinfo() должен выдать что Zend Engine установлен вместе с дебагером, и там будет присутствовать строка: with Zend Debugger v5.2.12, Copyright (c) 1999-2007, by Zend Technologies
После этого нажав кнопку в Zend Studio 5.5 меню: Tools -> Check Debug Server Connection должно выдать что сообщение, что все ОК.
