回声语句没有正确刷新?

时间:2011-07-26 21:34:06

标签: php buffer flush

我一直试图将这段代码调试好几个小时,但还没有取得任何进展。我的打印声明根本不起作用。另一个问题建议我flush(),但它不起作用。

echo 'this never prints';
flush();
flush();
flush();

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:3)

我认为你关闭了display_errors指令。检查你的php.ini文件,看看是否是这种情况。

您的代码有语法错误;你在echo语句后缺少一个分号。如果启用了display_errors,则只能在浏览器中看到任何语法错误。

php.net on display_errors: http://www.php.net/manual/en/errorfunc.configuration.php#ini.display-errors

答案 1 :(得分:1)

如果您在outbut缓冲区内,可以使用ob_get_level()>0进行检查,则可以使用ob_flush()刷新内容。如果你想要打破所有outbut缓冲区,这是一个快速结束它们的工具:

while(ob_get_level()>0) ob_end_flush();

如果要丢弃缓冲区,可能会使用ob_end_clean()而不是ob_end_flush()

答案 2 :(得分:0)

<?php
echo "Hello Web!";
?>

在这个简单的脚本中,您可以看到PHP脚本中一些最常用的组件。首先,PHP标记用于将实际的PHP内容与文件的其余部分分开。您可以通过添加以下一对来通知解释器您希望它执行您的命令:标准标签“”;短标签“”; ASP标签“&lt; %%&gt;”;脚本标签“”。标准和脚本标签保证在任何配置下工作,另外两个需要在“php.ini”中启用