一尘不染

在MYSQL / PHP中设置最大执行时间

mysql

我有一个XML文档,其中包含大约48,000个子级(〜50MB)。我运行INSERT
MYSQL查询,为这些子项中的每个子项都创建新条目。问题是,由于其大小,它需要很多时间。执行后,我收到这个

Fatal error: Maximum execution time of 60 seconds exceeded in /path/test.php on line 18

如何将最大执行时间设置为无限制?

谢谢


阅读 480

收藏
2020-05-17

共1个答案

一尘不染

您可以通过在您的php代码中设置set_time_limit来实现(无限制地设置为0)

set_time_limit(0);

或者直接在您的php.ini中修改max_execution_time的值

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 120

或使用ini_set()进行更改

ini_set('max_execution_time', 120); //120 seconds

但请注意,对于第三个选项:

max_execution_time

在安全模式下运行时,无法使用ini_set()更改此设置。唯一的解决方法是关闭安全模式或通过更改php.ini中的时间限制。

来源www.php.net

2020-05-17