<?
echo "lalala";
header("Location: http://www.google.com/");
如果我将其放入一个普通的 php 文件中,并使用 mod-php(PHP 版本 5.3.2-1ubuntu4.10)通过标准 apache2 服务器进行交付,则重定向到 google 的工作正常。
<?
echo "lalala";
flush();
header("Location: http://www.google.com/");
这段代码显然不会产生有效的重定向。
我的问题是第一个代码是如何处理的以及为什么它有效。因为我记得有些时候这样的事情是不可能的。 mod-php 或 apache 是否足够智能来缓冲整个请求并将标头排列在内容之前?
And:
如果我确保不手动刷新输出,我可以依赖这个吗?因为这会让我的申请变得更加容易......
输出缓冲可能默认启用。如果您想依赖此功能,您应该手动启用它。
http://php.net/manual/en/function.ob-start.php http://php.net/manual/en/function.ob-start.php
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)