PHP中的max_execution_time
指令
这里的max_execution_time
指令,是指设置 PHP 脚本在终止之前允许运行的最长时间。一般情况下,默认为 30 秒,我们可以根据需要将其增加到合理的值。
通常,如果脚本执行时间过长,PHP 会提示最大执行时间错误:
Fatal error: Maximum execution time of 30 seconds exceeded
如何增加max_execution_time
有几种不同的方法可以增加 PHP 脚本执行时间。
ini_set
函数
这里的ini_set
函数,用于更改php.ini配置文件中可用的值。这是增加 max_execution_time
值的最简单方法之一。
要增加脚本执行时间,可以在 PHP 脚本顶部使用以下代码。
ini_set('max_execution_time', '300');
在上面的示例中,我们将max_execution_time
指令设置为 300 秒。
另一方面,如果将其设置为 0,将允许脚本无限运行。这样设置时必须非常慎重,并且不建议在实际项目环境中使用。
php.ini 配置文件
如果想全局增加max_execution_time
的值,可以选择这种方法。但是,需要获得更改php.ini文件的权限才可以。
找到php.ini文件后,使用文本编辑器打开并查找以下行:
; Maximum execution time of each script, in seconds; https://php.net/max-execution-time; Note: This directive is hardcoded to 0 for the CLI SAPImax_execution_time = 30
然后,根据需要更改该值,保存并重启 Web 服务器。
set_time_limit
函数
除了ini_set
这个函数之外,还有 set_time_limit
函数可以设置脚本的最长执行时间。
set_time_limit(300);
在这里,set_time_limit
函数可以设置秒数。如果将其设置为 0,则允许脚本无限时间运行。
这里的set_time_limit
函数的工作方式,与max_execution_time
函数略有不同。调用该set_time_limit
函数时,它将超时计数器重置为零,然后开始计量执行时间。
假设一个脚本执行了 10 秒,然后set_time_limit
函数将脚本执行时间设置为 30 秒。在这种情况下,脚本在终止之前将运行总共 40 秒。所以如果想使用set_time_limit
函数,来设置一个PHP脚本的最大执行时间,应该把其放在PHP脚本的顶部。
Apache 用户可以更改.htaccess文件
如果使用 Apache 服务器,可以通过.htaccess配置文件,来设置php.ini配置指令。
首先,在项目中找到.htaccess文件。在大多数情况下,可以在项目的文档根目录中找到它。如果在项目根目录中找不到它,可以查看一下它有没有被隐藏。
然后,使用文本编辑器打开.htaccess文件,并在末尾添加以下行。
php_value max_execution_time 300
这样,就大功告成了。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/php/how-to-increase-max-execution-time-in-php/