Использование XDebug в UEStudio для отладки PHP

Я только что скачал последнюю версию UEStudio 09 и пробую интегрированные функции XDebug.

У меня установлен xdebug, и я проверил это с помощью моего php_info(). Я написал очень простой скрипт, чтобы проверить это:

1:  <?php
2:  $x = 5;
3:  $y = $x + 1;
4:  $z = 10;
5:  while ($z--) {
6:      echo $x, $y, "<br />\n";
7:  }

Затем я начал сеанс отладки и получил это сообщение в своем окне вывода:

Client: Listening for connection...

Я добавил точку останова в строке 4, просто чтобы проверить это. Затем я открываю файл в своем браузере со специальным параметром URL:

http://localhost/uetest/index.php?XDEBUG_SESSION_START=test

Скрипт работает нормально и не останавливается для отладки или чего-то еще. Вывод таков:

Client: Listening for connection...
Client: Connection accepted
Client: Initializing session
==============================
Debug Engine Name: Xdebug
Debug Engine Version: 2.0.3
Protocol Version: 1.0
==============================
Client: Session active
Client Command: Step Into
Client: Exiting debug session
Script completed without errors

Если я захожу на http://localhost:9000/uetest/index.php, то UStudio говорит "Соединение принято", но оттуда ничего не происходит! Сценарий никогда не завершается в браузере, и в конце концов происходит сбой UEStudio.

Любые идеи?


person nickf    schedule 07.04.2009    source источник


Ответы (2)


На прошлой неделе я оценил UEStudio как замену Zend Studio 5.5. Я настроил свою конфигурацию XDebug следующим образом и заработал:

[XDebug]
zend_extension_ts=./ext/php_xdebug.dll
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=d:/
xdebug.profiler_output_name=timestamp
xdebug.remote_enable=1
xdebug.remote_mode=req
xdebug.remote_autostart=0
xdebug.remote_port=9000
xdebug.remote_host=localhost 
xdebug.idekey=debug

Мне пришлось добавить несколько настроек в мой php.ini, чтобы он заработал. Выше показана полученная конфигурация. Кроме того, я установил дополнение XDebug Helper Firefox, чтобы начать отладку прямо из Firefox. Очень удобно.

person mjax    schedule 26.09.2009

Много лет назад я использовал xdebug, но недавно я использовал Zend Debugger, поэтому я не могу вспомнить, что я сделал, чтобы заставить xdebug.dll работать. Однако я помню, что мне нужно было добавить несколько записей в php.ini. Записи, которые у меня есть для Zend Debugger:

Для Linux:

[Zend]
zend_extension=/usr/lib/php5/20060613+lfs/ZendDebugger.so
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

Для Windows:

[Zend]
zend_extension_ts="c:/php/ext/ZendDebugger.dll"
zend_debugger.allow_hosts=127.0.0.1
zend_debugger.expose_remotely=always

Поиск Google по запросу «php xdebug php.ini» привел меня сюда:

http://devzone.zend.com/article/2930-Debugging-PHP-applications-with-xdebug

Что предполагает:

xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

для xdebug.

Надеюсь это поможет.

person Stacey Richards    schedule 07.04.2009