Отладка проекта Zend Framework с помощью NetBeans / XDebug - PullRequest
0 голосов
/ 14 февраля 2010

Кто-нибудь смог настроить отладку NetBeans для проекта Zend Framework? У меня на компьютере работает XAMPP, а также NetBeans 6.8. Судя по phpinfo (), XDebug правильно установлен на XAMPP. Я начинаю сеанс отладки с NetBeans, он подключается к XDebug и страница открывается, однако она не остановится ни на одной точке останова.

Это выдержка из журнала NetBeans, если вам интересно:

<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug"      command="step_into" transaction_id="165" status="stopping" reason="ok"></response>
FINE [org.netbeans.modules.php.dbgp.ServerThread]
java.net.SocketTimeoutException: Accept timed out
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at java.net.PlainSocketImpl.accept(Unknown Source)
        at java.net.ServerSocket.implAccept(Unknown Source)
        at java.net.ServerSocket.accept(Unknown Source)
        at org.netbeans.modules.php.dbgp.ServerThread.run(ServerThread.java:47)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[catch] at java.lang.Thread.run(Unknown Source)

Этот тайм-аут выглядит подозрительно, но я не уверен, что он вызывает проблему.

Это отрывок из моей конфигурации php.ini:

extension=php_xdebug-2.0.5-5.3-vc6.dll
xdebug.extended_info = 1
xdebug.idekey = "netbeans-xdebug"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000

Есть ли у вас какие-либо предложения?

1 Ответ

2 голосов
/ 14 февраля 2010

Я решил это. Проблема в том, что XDebug нужно было включить через Zend Extension Manager (не через обычные расширения PHP), и в XAMPP 1.7.2 (который у меня был) не было Zend Extension Manager. Я понизил до XAMPP 1.7.0, и он работал. Мне также пришлось отключить Zend Optimizer и загрузить более новую версию XDebug. Это моя последняя конфигурация PHP:

[Zend]
zend_extension_ts = "\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
;zend_extension_manager.optimizer_ts = "\xampp\php\zendOptimizer\lib\Optimizer"
;zend_optimizer.enable_loader = 1
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
; Local Variables:
; tab-width: 4
; End:

[XDebug]
;; Only Zend OR (!) XDebug
zend_extension_ts="\xampp\php\ext\php_xdebug-2.0.5-5.2.dll"
xdebug.remote_enable=true
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="\xampp\tmp"
xdebug.idekey = "netbeans-xdebug"
...