有人可以解释为什么以下脚本在两个不同的平台上表现不同吗?
脚本:
<?php
echo "hello!";
$view_content = ob_get_clean();
echo "'".gettype($view_content)."' >".$view_content."<";
输出1(在WampServer 2i上 - php v5.3.0 - Windows 7 x64):
'string' >hello!<
输出2(在MAMP 1.9上 - php v5.3.2 - OSX 10.6.4):
hello!'boolean' ><
似乎MAMP没有正确执行'ob_get_clean()'函数。我也在MAMP上尝试了v5.2.13的php并且看到了同样的问题。
我意识到这些是不同的“版本”的PHP,但我觉得这应该工作。 是否有我遗失的扩展/模块?
答案 0 :(得分:2)
可能在1台主机上,automatic output buffering已启用。我建议不要这样做,因为它占用了大部分时间都不需要的资源。你可以用&amp;设置它,如果你依赖它,一个更好的方法恕我直言,只要在真正的需要时调用ob_start()
。
来自the manual:
返回值
返回输出缓冲区的内容和结束输出缓冲。如果输出缓冲未激活,则返回FALSE。