我有一个XML文档,大约有48,000个孩子(约50MB)。我运行一个INSERT MYSQL查询,为每个子项创建新条目。问题是由于它的大小需要花费很多时间。执行后我收到了
Fatal error: Maximum execution time of 60 seconds exceeded in /path/test.php on line 18
如何将最长执行时间设置为无限制?
由于
答案 0 :(得分:11)
您可以通过在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
但请注意,对于第3个选项:
max_execution_time
在safe中运行时,无法使用ini_set()更改此设置 模式。唯一的解决方法是关闭安全模式或更改 php.ini中的时间限制。
答案 1 :(得分:0)
将它放在脚本的顶部:
ini_set('max_execution_time', 300);
这将使它成为5分钟。
答案 2 :(得分:0)
您可以在应用程序的开头使用ini_set。
ini_set('max_execution_time', *number of seconds here*); //300 seconds = 5 minutes
答案 3 :(得分:0)
您可以在MYSQL / PHP中设置最长执行时间。它很容易。
要在单个PHP文件中设置最长执行时间,请将此代码放在第一个打开php标记之后。
ini_set(‘max_execution_time’, 0)
在php.ini文件中设置最长执行时间。您可以根据自己的要求进行设置。
max_execution_time=360 //360 seconds = 6 minutes
在htaccess文件中设置最长执行时间。
php_value max_execution_time 0
答案 4 :(得分:0)
Apache Web Server的最长执行时间为300秒(5分钟),因此,如果脚本很长,则必须选择
max_execution_time = (seconds)
例如max_execution_time = 300
2。如果脚本需要5分钟以上,则应首先更改Httpd.conf文件(Apache配置文件)
TimeOut (number of seconds you want)
以及php.ini max_execution_time = (number of seconds you want)