gpt4 book ai didi

mysql - 很长的 PHP 脚本的潜在问题

转载 作者:行者123 更新时间:2023-12-01 00:02:04 25 4
gpt4 key购买 nike

我有一个每天运行一次的 PHP 脚本,它需要 30 分钟才能运行(我认为)。那里的一切都是安全可靠的操作。大约 10 到 15 分钟后,我不断收到 500 错误。但是我在日志等中看不到任何东西,所以我有点困惑。

到目前为止,我设置为“无限制”的是:

  • 最大执行时间
  • 最大输入时间
  • 默认套接字超时

还仅针对此部分(脚本运行的文件夹)将这些设置为高得离谱的数字

  • 内存限制
  • post_max_size

这个脚本的本质是一个 SOAP 类型的 API,它从 3rd 方 URL 导入数千行数据,将它们放入本地 MySQL 表中,然后下载每一行附带的图像,因此数据量很重要。

我试图弄清楚还有哪些其他 PHP 变量等。为了完成整个过程,我遗漏了哪些变量。我设置的其他 PHP 变量:

  • display_errors = 开启
  • log_errors = 开启
  • error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING
  • error_log = "error_log"

最佳答案

超时一共有三种:

  1. PHP 级别:set_time_limit
  2. Apache 级别:Timeout
  3. Mysql级别:Mysql Options

在您的情况下,Apache 似乎已超时。在这种情况下,最好使用 PHP CLI。但是如果你真的需要实时地做这个操作。然后你可以使用 Gearman通过它,您将在 PHP 中实现真正的并行性。

如果您需要从普通 HTTP 请求(浏览器->Apache)触发脚本的简单解决方案,您可以将后端脚本(CLI 脚本)作为 PHP 的 shell 命令运行,但“异步”。更多信息可以在 Asynchronous shell exec in PHP 中找到

关于mysql - 很长的 PHP 脚本的潜在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8077730/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com