php - 脚本在 "504 Gateway Time-out"之后继续执行

标签 php http-status-code-504

我在 nginx+apache 下运行这个脚本。它将大数据包(分成几部分)发送到远程服务器,循环调用 cURL 执行。对我来说奇怪的是,超时后我在浏览器(队长)中收到 504 错误,但脚本仍然继续运行!

我已经测试过它 - 并且脚本正在发送我需要它发送的所有数据,因此从技术上讲,这不是问题。但我认为任何像这样的不寻常的事情都可能在未来产生后果。

如果更有经验的开发人员能够分享有关此问题的任何知识,我将不胜感激。

最佳答案

如果达到最大执行时间(在 Apache 中默认为 30 秒),服务器会发送 504。然而该脚本仍然在后台运行——它只是停止向客户端发送数据。如果您预计脚本的运行时间超过最大执行时间并希望查看它返回的数据,您应该考虑增加服务器上的最大执行时间设置或在其他地方运行脚本并通过套接字连接向浏览器报告或间隔轮询。

另一方面,你为什么使用 nginx 和 apache?或者你的意思是它在两者上做同样的事情?

关于php - 脚本在 "504 Gateway Time-out"之后继续执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249569/

相关文章:

php - Laravel Controller 中非重复请求验证的解决方案?

php - PHP 中的 Zip 文件

http - HTTP 408 和 504 错误有什么区别?

android - 使用Picasso加载图片时出现错误504

java - 为什么 GET 请求在 PostMan 上总是给出 200,但在 Java 应用程序中给出 504?

使用 URLSession 进行 Swift API 调用会出现 504 错误

php - 在开发过程中保证资源重新加载(通过ajax)的好策略是什么?

php - 根据查询值有条件地格式化字体颜色

java - 响应状态代码显示 200 表示网关错误 (504)

作为组成员的 PHP 用户无法写入文件夹