【问题标题】:php maximum execution time displays 504 error even though the script is running即使脚本正在运行,php 最大执行时间也会显示 504 错误
【发布时间】:2020-01-04 10:20:31
【问题描述】:

在我的脚本中,我定义了插入数据库查询的最长执行时间

ini_set('max_execution_time', '0');

但是,5分钟后,页面会显示504错误,10分钟后我检查数据库时,我可以看到所有数据都已插入数据库,但页面仍然显示504错误。脚本运行时有什么方法可以隐藏 504 页面吗?

谢谢

【问题讨论】:

  • 使用phpinfo();检查max_execution_time是否更新。
  • 这不是脚本终止,看起来网络服务器由于超时而终止。使用一些分块的标头并定期传输一些数据。
  • 504 状态码代表网关超时。这意味着您在 PHP 和浏览器之间有一些东西。您有代理或快速 CGI 进程吗?

标签: php


【解决方案1】:

504 Gateway Timeout 错误意味着服务器没有收到及时的响应。 但最主要的是,你将最大执行时间设置为 0,这意味着无限的执行时间,所以脚本会无限运行,所以浏览器无法收到响应。 无限执行时间只能用于 CLI 模式运行脚本。

【讨论】:

  • 正如我在对问题本身的评论中所说的那样,这是可能的。使用传输编码:分块并定期(每分钟左右)发送至少一个块。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 2019-08-03
  • 1970-01-01
相关资源
最近更新 更多