返回前脚本超时 headers: script.php, refererer http://

Script timed out before returning headers: script.php, refererer http://

我的一个应用程序正在渲染一个巨大的 PDF-file。在 PHP 调整了一些设置后,我注意到 suPHP 在 运行 脚本运行 5 分钟后抛出 500 页错误。但是,我不想禁用最长时间,因为它是一个有多个客户的网络服务器。现在有人告诉我一个可能的解决方案:

关闭脚本的 GZIP 压缩

当脚本 运行 时,添加额外的 headers 以便 PHP 知道它必须处理整个脚本

呈现 PDF 后刷新输出

但是,我从来没有做过这样的事情,我真的不知道如何做到这一点。有人能指出我正确的方向吗?

基本上是有人告诉你

  • render/create pdf,而不是在创建它时发送它,而是将它存储在缓冲区中。
  • 然后 连同必要的 headers.
  • 发送给用户

要创建 pdf 并存储到缓冲区,请查看输出缓冲 - ob_start() 、ob_flush() 函数

对于发送缓冲区的内容,this answer 应该有所帮助。

我不确定 how/if 关闭 gzip 压缩是否有帮助,但可以使用 ini_set 方法来完成。