0

我刚刚下载了最新版本的 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

该脚本正常运行,它不会停止调试或任何事情。输出是这样的:

客户:正在监听连接...
客户端:已接受连接
客户端:初始化会话
===============================
调试引擎名称:Xdebug
调试引擎版本:2.0.3
协议版本:1.0
===============================
客户端:会话处于活动状态
客户端命令:步入
客户端:退出调试会话
脚本完成没有错误

如果我访问http://localhost:9000/uetest/index.php然后 UEStudio 说“连接接受”,但从那里什么都没有发生!该脚本永远不会在浏览器中完成,然后最终 UEStudio 崩溃。

有任何想法吗?

4

2 回答 2

1

上周我评估了 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 开始调试。很方便。

于 2009-09-26T09:13:12.330 回答
0

许多年前我使用过 xdebug,但最近我一直在使用 Zend 调试器,所以我不记得我做了什么来让 xdebug.dll 工作。但是,我确实记得,我确实需要在 php.ini 中添加一些条目。Zend 调试器的条目是:

对于 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

谷歌搜索“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。

希望这可以帮助。

于 2009-04-07T12:52:29.047 回答