| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Zend Debugger неправильно определяет document_root |
| Автор: lazabt 21.10.2007, 00:47 |
| Кофигурация такая: Под виндой стоит apache+php. php запускается как модуль. ZendDebugger установлен модулем php. php "чистый" - без других модулей. Вариант 1 В апаче настроен виртуальный хост test.ru с док-рутом в {HOSTS_PATH}/test.ru/src/www Есть eclipse с pdt. В эклипсе - проект test с рутом в {PROJ_PATH}/test. В проекте файл {PROJ_PATH}/test/src/www/test.php В эклипсе настроен php-сервер (testserver), публикующий файлы проекта ({PROJ_PATH}/test/*) в {HOSTS_PATH}/test.ru Есть также debug/run-конфигурация PHP Web Page со следующими параметрами: server debugger: zend php server: testserver file / project: {PROJ_PATH}/test/src/www/test.php publish files to server: [v] break at first line: [ ] url: auto generate: [ ] url: http://test.ru/test.php Итак, ставим breakpoint на строчку в test.php, запускаем debug-конфигурацию и... дебага не получаем. Причем если ставить галку break at first line: [v], то выполнение действительно приостанавливается на 1-й строке и дальше можно более-менее дебажить, но брекпоинты не понимает совершенно. Вариант 2 Виртуальный хост test.ru с док-рутом в {HOSTS_PATH}/test.ru (БЕЗ src/www) В эклипсе - проект test с рутом в {PROJ_PATH}/test. В проекте файл {PROJ_PATH}/test/test.php Все остальное тоже самое. Ставим breakpoint, жмем debug - и все ок: полноценный дебаг, так-сказать. Такое впечатление, что кто-то (эклипс или зенд дебаггер) трактует рут эклипсового проекта, как документ-рут сервера, на который публикуется проект. Но ведь это же, во-первых, далеко не всегда так, а, во-вторых, в run-конфигурации все же человеческим языком прописано, что и куда публиковать и что запускать. В общем, 2-й день уже с этим бьюсь Версии софта: apache 2.2 php 5.2.4.4 zenddebugger 5.2.10 for php 5.2.x pdt 1.0.1 {PROJ_PATH}, {HOSTS_PATH} естественно имеют реальные значения. Просто не хотел загромождать сообщение путями. |