0

我遇到了一些奇怪的问题,在将我的 PHP 升级到 5.4 后,我在 NetBeans 7.0.1 中调试时遇到了问题。当调试会话处于活动状态时,浏览器不会显示任何输出,但调试器会正常运行。我可以在我的应用程序中设置断点,它们可以正常工作,但服务器不会将任何内容返回给浏览器。发送会话结束请求输出后正常工作。

这是我在 php.ini 中的设置

zend_extension = c:\php\ext\php_xdebug-2.2.0RC1-5.4-vc9.dll
xdebug.remote_enable=on
xdebug.remote_host=localhost
xdebug.remote_handler=dbgp
xdebug.remote_port=9000
xdebug.remote_log="c:\php\xdebug.log"

根据 xdebug 日志,xdebug 连接到 IDE,IDE 没有任何抱怨。

任何线索都会非常受欢迎。这是我的 php.ini 文件: http: //pastebin.com/z8LBsmmw

4

2 回答 2

0

也许你启用了output_buffering?此外,启用 output_handler(如压缩处理程序,例如 gzip)可以缓冲,至少直到达到某个块大小。

浏览器有时也会缓冲。输出一堆空白可以解决这个问题。

于 2012-05-05T20:13:28.267 回答
0

我遇到了同样的问题;有人可能会发现我的解决方案很有用。

除了关闭output_buffering和任何输出处理程序,正如@goat 已经提到的,你必须打开implicit_flush.

正如PHP 手册所述:

将此更改为TRUE告诉 PHP 告诉输出层在每个输出块之后自动刷新自身。这相当于在每次调用 print 或 echo 以及每个HTML块之后调用 PHP 函数flush() 。

在 Web 环境中使用 PHP 时,打开此选项会严重影响性能,通常建议仅用于调试目的。

于 2015-08-06T01:41:04.093 回答