3

我有一个 php 脚本处理数据库中的一些大数据。它从表中取出 N(尝试从 100 到 100000)行并将其插入其他表。max_execution_time设置为 0。每次迭代都包含在事务中。选择我使用的每个部分时pg_query()。但 1-2 小时后,我的脚本失败Maximum execution time of 0 seconds exceeded,错误消息指向pg_query(). 有人有这个问题吗?有什么治疗方法吗?

更新

尝试过这里提出的答案——将 max_input_time 设置为 -1——仍然没有运气。错误从pg_query一行移动到另一行,这似乎是一个非常随机的错误。所以pg_query我想与那无关,以及max_input_time.

4

2 回答 2

1

max_execution_time = 0意味着永远运行

但是,可能还有其他事情可能会阻止您的脚本。例如 apache 的默认脚本执行超时时间为 5 分钟。

看到这个:是 ini_set('max_execution_time', 0) 一个坏主意吗?

于 2013-02-15T09:27:45.417 回答
1

你从哪里得到这个设置?从 php.ini 文件?如果是这样,请在您的项目代码中搜索ini_set',它们具有更高的优先级。我敢打赌,有一个默默地爬进来。

于 2017-10-20T17:23:43.547 回答