Настройка удаленной отладки в 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 платформе здесь:

  1. Распаковываем содержимое архива
  2. Выбираем папку с соответствующей вашей версией php и копируем находящийся в ней файл ZendDebugger.dll в какую-то общедоступную папку.
  3. Затем добавляем в файл php.ini, следующие строки:
  4. [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]
  5. Теперь нужно перезапустить вебсервер

После всех описанных манипуляций 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 должно выдать что сообщение, что все ОК.