0

我有一个脚本,它可以从图像库中生成 3 种不同的图像尺寸,正如您可能猜到的那样,它需要一段时间才能完成它的工作——400 张图像大约需要 5 分钟。默认的最大执行时间值 30 秒是不够的,所以我决定在 php.ini 中通过设置更改它 max_execution_time = 1800;,我检查了 phpinfo() 中的更新值,证明新的时间限制是 1800。只是为了确保该错误也不是由 mysl 超时引起的,我更新了mysql.connect_timeout = 1800.

问题是我的脚本在不应该超时的 30 秒后仍然超时。

我在想什么设置

set_time_limit(1800)

在该过程中涉及的每个脚本的开头,但这需要我在处理器、控制器等中设置它。我试图搜索一些关于脚本执行时间的内部设置,但我没有找到。

有没有人知道如何强制脚本运行更长时间而不超时?

更新

错误为 500

4

1 回答 1

1

MODX与它无关。更改 PHP.ini 中的设置:在此处查看文档

还有,你为什么要一下子砸这么重的剧本?

使用 getCount 获取它们的总数,然后在另一个 foreach 循环中放置一个处理固定数量图像的 foreach 循环,该循环具有睡眠或等待逐渐减少负载。

我的服务器可能会在 30 秒内轻松处理 400 张图像。您几乎可能想查看配置中的 memory_limit。我使用 256 MB,但我在服务器上也有几十个内核,并且有大量内存。

于 2013-06-21T11:43:40.740 回答