我有一个包含以下内容的PHP文件:
1. <?php
2. $string = 'Hello world!';
3. echo $string;
4. ?>
我在第2行和第4行放了一个休息时间。我运行调试器。浏览器输出打开,脚本在第2行暂停,浏览器输出为空。说得通!然后我在echo命令之后跳转到第4行的下一个断点。在这一点上,浏览器应该更新并显示“Hello world”吗?或者调试器不是逐步更新浏览器输出,因此对浏览器显示没用,只对检查内部代码本身有用吗?
谢谢!
答案 0 :(得分:0)
这里的答案有点复杂。一般来说,Xdebug不会停止输出到浏览器,除非你打开输出缓冲或自动压缩,否则PHP不会这样做。
但是,Web服务器可能将数据缓冲到特定点,然后再将其发送到浏览器。您可以通过调用flush():http://php.net/flush强制Web服务器刷新其缓冲区。请注意,虽然有些浏览器也会等到他们有足够的数据来实际显示任何内容。