【问题标题】:Script timed out before returning headers: script.php, refererer http://脚本在返回标头前超时:script.php,refererer http://
【发布时间】:2015-09-11 09:52:50
【问题描述】:

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

关闭脚本的 GZIP 压缩

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

渲染 PDF 后刷新输出

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

【问题讨论】:

  • 这里渲染 PDF 是否意味着只创建一个 pdf 文件?还是同时创建和流式传输(或类似的东西)?
  • 在这种情况下,它只是在浏览器中流式传输,而没有在服务器上创建任何文件。

标签: php http-headers gzip suphp


【解决方案1】:

基本上是有人告诉你的

  • 渲染/创建 pdf,而不是在创建时发送它,而是将其存储在缓冲区中。
  • 然后将它与必要的标题一起发送给用户。

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

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

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

【讨论】:

  • 抱歉回复慢。其他一些截止日期介于两者之间。您的回答为我指明了正确的方向并解决了超时问题。
猜你喜欢
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 2014-10-18
相关资源
最近更新 更多