使用ob_start()为所有PHP页面添加前缀的必要性

时间:2010-11-12 18:47:57

标签: php output-buffering

在所有PHP页面的开头都有ob_start()可以吗?

如果我不这样做,我会收到“已发送标头”错误。

3 个答案:

答案 0 :(得分:1)

它是“ok”但你应该确实修复你的脚本不要过早输出东西并保存输出结束。但您只需更改.htaccessphp.ini中的设置即可.htaccess:

php_value output_buffering On
php_value output_handler mb_output_handler

在我看来,这是首选,而不是将ob_start添加到所有脚本的顶部。

但是,你真的应该解决问题的核心。 IE:保存脚本末尾的输出。

答案 1 :(得分:1)

您可能在页面顶部之前有空格

这会导致错误“HEADER ALREADY SEND”

不知道ob_start()

答案 2 :(得分:1)

我认为可以将此作为一种解决方法,或者只是快速使现有脚本正常工作。从长远来看,你应该考虑重新设计你的应用程序,这样的事情就不会发生。通常,您应该尝试将应用程序逻辑和输出完全分开。