这真的很奇怪,我上周刚换了服务器,我有一个处理大量信息的大型脚本(个人脚本)。
它的作用是使用 foreach 将内容添加到数据库,然后回显它所在的位置(例如:“ID #27 已处理”)等等,直到完成。在旧服务器上,我会看到这个“echo ”脚本一个接一个地运行,但在我的新服务器上,它会显示一个带有沙漏的空白页面,直到加载/完成。
服务器或 PHP 上是否有可以显示页面构建时的配置?
谢谢
最佳答案
如果您有权访问 php.ini
,则可以设置 output_buffering = Off
以完全禁用此行为。否则,请按照其他人的建议使用 flush()
。
我相信 output_buffering
的默认设置是 4096
。如果新服务器设置得更高,您也可以尝试简单地降低它而不是将其关闭,以实现与旧服务器类似的行为而不会完全失去缓冲。
编辑 According to PHP docs , Apache mod_gzip
可能会做它自己的输出缓冲,这会阻止 flush()
工作。
关于php - 如何在 PHP 中渲染页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201434/