【发布时间】:2014-07-14 08:02:39
【问题描述】:
我网站的管理部分有一堆非常慢的报告生成脚本echo 在生成时逐行输出。为了让这个输出立即刷新到浏览器,而不是让用户在看到任何响应之前等待几分钟,我们禁用了output_buffering,并在此类脚本的开头调用ob_implicit_flush。
为方便起见,我正在考虑只打开 php.ini 中的 implicit_flush 设置,而不是向每个将从中受益的脚本添加 ob_implicit_flush() 调用。
但是,文档包含以下可怕但无法解释的评论:
implicit_flush
...
在 Web 环境中使用 PHP 时,打开此选项会严重影响性能,通常建议仅用于调试目的。
这些“严重的性能影响”是什么?它们是否证明手册的建议是合理的?
【问题讨论】:
-
虽然我已经用我能够发现的 一个 答案自行回答了这个问题,但我仍然有兴趣了解是否还有其他答案。我在回答中描述的性能陷阱很可能实际上不是手册所暗示的。
标签: php configuration output-buffering php-ini