Эта тема на forum.dklab.ru


DmitriyPopov: ой, йё!!!
Во-первых:
Дмитрий Котеров: Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Я понятия не имел о том что такое ZendDebugger.
А Вы сказали. Я скачал ZendStudio Client.......... по умолчанию на него дается 21-дневная лицензия - а потом урезанная версия).

Так вот:
НА-ФИГ

Я до сих пор в шоковом состоянии. Такое я сделать не смогу!

Это нестолько крутая штука, что я ..... вот.....

Скажите - а почему он так не популярен???


P.S. Сейчас качаю ZendStudio Server. Лицензию уже скачал...
DmitriyPopov: Завтра закрою эту тему.
Какой мне резон чего-то самому изобретать?




ВСЕМ РЕКОМЕНДУЮ - скачайте - не пожалеете.
Евгений Бондарев:
PHP Expert Editor - удобный в использовании PHP редактор, разработанный специально для PHP мастеров. PHP Expert Editor имеет встроенный HTTP сервер и отладчик для запуска и отладки PHP скриптов (Вы можете использовать любой внешний HTTP сервер), проверка синтаксиса PHP, встроенный браузер, FTP клиент, файл эксплорер, настраиваемые шаблоны кода, три режима подсветки кода (PHP & HTML, HTML only, PHP only), функции быстрой навигации в PHP коде, и многое другое.
Свойства программы

-- Три режима подсветки кода (PHP & HTML, HTML only, PHP only)
-- Встроенный браузер
-- Встроенный FTP-клиент
-- Code Explorer
-- File Explorer
-- Проверка синтаксиса PHP
-- Запуск скриптов и просмотр результата во встроенном или внешнем браузере
-- Отладчик
-- Для запуска и отладки PHP скриптов Вы можете использовать встроенный или любой внешний HTTP-сервер
-- Поддержка всех известных Content-Type. Вы можете отлаживать скрипты, которые генерируют различный контент, например, картинки
-- Быстрая вставка всех функций PHP с подсказкой параметров
-- Быстрая навигация в коде с помощью горячих клавиш и мыши
-- Подсветка парных символов (скобок, кавычек)
-- Настраиваемые Шаблоны Кода для быстрой вставки часто употребляемых фрагментов
-- Экспорт исходного текста в HTML с подсветкой синтаксиса
-- Закладки
-- Два стиля интерфейса - Classic и Office XP
-- Поддержка справки PHP с возможностью поиска по ключевому слову в текущей позиции
-- Keymaping (Default, Classic, Brief, Epsilon, Visual Studio)
-- Поддержка форматов файлов Windows, Unix, Mac

PHP Expert Editor 3.0
DmitriyPopov:
Евгений Бондарев:
видели мы его.........
Отладчиком это только называется:
1) Нету возможности остановки по BreakPoint'у
2) Нету нормальной поддежки проектов (там это так... по детски)
И очень много других моментов (например нету ввобще описания функций. Отсутствует анализ include-файлов (например, если ф-ция в инклюде то он её не знает))

Работая в нем я не ощущал, что работаю в "среде разработки". Я работал в обычном редакторе.

Поставив ZendStudio я же был в реальном шоке. Это - действительно среда разработки.
DmitriyPopov:
Выделено из темы «PHP редактор - отладчик»,
расположенной в форуме Модераторский (20 Мая 2003, 12:02).
Дмитрий Котеров:
Ладно, вот сегодня настроил я наконец-то себе бесплатный интернет через 3 туннеля и 2 прокси, скачаю этот Zend Studio...
Дмитрий Котеров:
Дмитрий Попов:
А скажите, Вам удалось заставить эту штуку работать с внешним сервером? Например, с тем, что в Денвере?..

Дело в том, что в дистрибутиве идет PHP 4.2.3. Но даже он не хочет работать, как модуль Apache: при старте пишет «cannot work with this sapi module». Я сделал вот что:
— скопировал php4ts.dll, php4apache.dll и php.exe из директории Zend в директорию денверовского PHP (php4apache.dll в директорию sapi);
— добавил в php.ini строчки:

zend_extension_ts="E:\Program Files\Zend\lib\ZendDebuggerLocal.dll"
zend_debugger.allow_hosts=127.0.0.1/32

— закомментировал все остальные расширения PHP.

Если же взять Zend\lib\Debugger-2.6.0\php-4.3.x\ZendDebugger.dll" вместо ZendDebuggerLocal.dll, то он начинает орать, что неправильная лицензия.
Дмитрий Котеров:
Да, а в CGI-режиме отладчик работает нормально. Ставим точку останова, заходим в браузер, набираем URL, вываливаемся в отладчике. Без нюансов.

Чтобы переключиться в CGI-режим в Денвере, нужно:
— закомментировать в httpd.conf строчку:

LoadModule php4_module "/usr/local/php/sapi/php4apache.dll"

— прописать в конец httpd.conf:

# PHP 4 settings
AddType application/x-httpd-php php
ScriptAlias /_php/ "/usr/local/php/"
Action application/x-httpd-php "/_php/php.exe"

— установить PHP 4.2.3 (убрать денверовский 4.3.x, видимо, Zend Debugger его пока не поддерживает); можно прямо развернуть дистрибутив PHP в /usr/local/php, только аккуратно, не затрите денверовский php.ini.
— в php.ini прописать:

zend_extension_ts=E:\Program Files\Zend\lib\ZendDebuggerLocal.dll
zend_debugger.allow_hosts=127.0.0.1/32


Значит, единственный вопрос — как добиться этого же, если PHP установлен в виде модуля Apache.
Тот, кто первый решит эту проблему, станет великим человеком в Рунете.
DmitriyPopov:
Дмитрий Котеров:
Как я понял - для этого нужно установить ZendDebugger Server.
Сегодня все-таки попробую его настроить....
Дмитрий Котеров:
Так ZendDebugger Server — это просто DLL-ка, которая подключается, как расширение PHP в php.ini. Т.е. это ZendDebuggerLocal.dll.
Разве нет?..
DmitriyPopov:
Дмитрий Котеров:
Нет. Это 16 MB файлов, которые распихались мне по всему компьютеру :-).


Он вообще убрал нафиг все подключению PHP. И добавил туда свой модуль PHP (гад такой!). Показываю:
LoadModule php4_module "C:\Program Files\Zend\lib\php4apache.dll"
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>

<Directory "Z:\home/ZendServerCenter">
Options Indexes
DirectoryIndex index.html index.php
</Directory>
<Directory "Z:\home/ZendInformationCenter">
Options Indexes
DirectoryIndex index.html index.php
</Directory>

А так же


[Zend]
zend_language=English
zend_extension_ts="C:\Program Files\Zend\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="C:\Program Files\Zend\lib\Optimizer-2.1.0"
zend_extension_manager.debug_server_ts="C:\Program Files\Zend\lib\Debugger-2.6.0"
zend_debugger.display_connect_errors=On
zend_debugger.licensed_user=UnderPl
zend_debugger.license_key=6EAAD0E282214854
zend_gui_password=17e3f38810f47b36f5dd18d6e83fa88a
zend_ini_modifier="C:\PROGRA~1\Zend\sbin\ini_modifier"
zend_debugger.allow_hosts=127.0.0.1/32
zend_debugger.deny_hosts=
zend_server.allow_hosts=127.0.0.1/32
zend_server.deny_hosts=
zend_root_dir="C:\PROGRA~1\Zend"

И при запуске стал ругаться на Денверовские php_gd и php_mysql
Пришлось убрать их нафик (при этом все работает)
Дмитрий Котеров:
Это 16 MB файлов, которые распихались мне по всему компьютеру
Сдается мне, что это JRE, а вовсе даже не отладчик. У меня JRE и так стоял, так что я качал облегченную версию (которая 5 МБ весит).

И при запуске стал ругаться на Денверовские php_gd и php_mysql
Это потому, что они от версии 4.3.0, а ему нужен 4.2.3.

Точно все работает? например, если создать новый проект, открыть в нем /home/localhost/www/phpMyAdmin/index.php, поставить там точку останова, затем пойти в браузер и открыть http://localhost/phpMyAdmin — вылетает в отладчик?.. У меня этого почему-то не удалось добиться.

Апач Вы ставили, который он предлагал? Поверх? Версию 1.3.26 (в Денвере 1.3.27). Опишите, пожалуйста, подробнее.

Он вообще убрал нафиг все подключению PHP. И добавил туда свой модуль PHP (гад такой!).
Это я все делал. php4apache.dll — это стандартная sapi-библиотека, может быть, с ихними модификациями. Я ее тоже подключал, но не работало )симптомы описаны выше).

Что ж, ладно. Придется все сносить нафиг и ставить с нуля. Может, тогда заработает.
DmitriyPopov:
Дмитрий Котеров:
если создать новый проект, открыть в нем /home/localhost/www/phpMyAdmin/index.php, поставить там точку останова, затем пойти в браузер и открыть http://localhost/phpMyAdmin — вылетает в отладчик?..
Вы меня удивляете её богу! Так и не должно работать.
Открываете home/localhost/www/phpMyAdmin/index.php, нажимаете F8, указываете DebugUrl http://www.localhost/phpmyadmin/, и открывается броузер с точкой останова.

Апач Вы ставили, который он предлагал? Поверх? Версию 1.3.26 (в Денвере 1.3.27). Опишите, пожалуйста, подробнее
Да. Ставил поверх. Подробнее некуда :-).

Ну просто взял - поставил - и все встало :-).


А нет! Еще я переустановил клиент - что бы указать localhost (опционально это не изменить)
Дмитрий Котеров:
нажимаете F8, указываете DebugUrl http://www.localhost/phpmyadmin/
Не хочу я никакой Debug URL ни в каких настройках указывать.
Хочу открыть браузер и ввести адрес там. Можно так?..

Еще я переустановил клиент - что бы указать localhost (опционально это не изменить)
Ага. Вы там указали Remote Debugging, и еще — localhost? В первый раз я этого не сделал. Потом все деинсталлировал, запустил инсталляцию снова, а он уже и не спросил...

Качали ли Вы что-то при установке в online-режиме? Он ведь там предлагает установить дополнительные компоненты (вроде документации), и при положительном ответе скачивает их из Интернета.
DmitriyPopov:
Не хочу я никакой Debug URL ни в каких настройках указывать.
Хочу открыть браузер и ввести адрес там. Можно так?..
Нет естественно. Как Вы это хотя бы алгоритмически представляете?


Качали ли Вы что-то при установке в online-режиме?
Нет.
Дмитрий Котеров:
Дмитрий Попов:
Очень просто предатавляю.
Более того: выше я описывал, как все работает, если ставить PHP в виде CGI, а не модуля Apache, и там все работает как раз так, как я только описал.
Перехватываются все запросы к php.exe и обрабатываются отладчиком; в случае нахождения точки останова происходит вылет, а в случае отсутствия таковой — все, как обычно (но в отладчике все равно отображается output, параллельно с браущером).

Вы что-то никак не можете понять, как же действительно удобно отлаживать из браузера...

Эта тема на forum.dklab.ru