替代<! - ?php ob_start(); ? - > .. <! - ?php ob_flush(); ? - >

时间:2013-07-04 14:12:46

标签: php .htaccess

是否有其他选择?
<?php ob_start(); ?>

Codes go here..........

<?php ob_flush(); ?>

用于消除Warning: Cannot modify header information - headers already sent by (output started at............

我正在寻找上述PHP函数的替代.htaccess重写规则。

谢谢,

3 个答案:

答案 0 :(得分:1)

您将无法通过编辑htaccess文件来修复该错误,除非您隐藏了无法解决实际问题的错误,因为您尝试的标头更改将失败。

相反,您需要确保在输出任何html,文本或空格之前修改标题。此错误通常可能由以下原因引起:

  • 在打开php标记之前的空格
  • 输出一些html(例如docytpe和head),然后尝试更改位置标题以重定向到另一个页面

答案 1 :(得分:1)

真正的“替代”(实际上不是替代方法,而是正确的方法)是构造代码,以便在输出开始后不设置标头。

如果无法做到这一点,实际上并非如此,并且输出缓冲并不是要用作解决方法。

答案 2 :(得分:0)

解决此问题的另一种简单方法是在PHP服务器上启用output_buffering变量,这可以通过在php.ini文件中保存以下代码轻松完成。

output_buffering = On