📅  最后修改于: 2023-12-03 15:37:53.759000             🧑  作者: Mango
在 PHP 中,执行脚本时默认有执行时间限制,如果执行时间超过限制时间,PHP 将停止执行脚本并返回错误。然而,在某些情况下,我们希望能够让 PHP 脚本无限执行下去,以便完成复杂的任务。本文将介绍如何为 PHP 脚本设置无限执行时间。
PHP.ini 文件是 PHP 的配置文件,其中有一个配置项 max_execution_time
用于设置执行时间限制。默认情况下,该值为 30 秒,即 PHP 脚本的最长执行时间为 30 秒。为了设置无限执行时间,我们需要将该值设置为 0,表示没有时间限制。打开 PHP.ini 文件,找到以下行:
max_execution_time = 30
将该行修改为:
max_execution_time = 0
保存并重启服务器,从此以后,PHP 脚本将不再受到时间限制。需要注意的是,修改 PHP.ini 文件会影响整个服务器中的 PHP 脚本执行时间限制,建议慎重使用。
除了修改 PHP.ini 文件,我们还可以在 PHP 脚本中使用以下代码设置执行时间限制:
set_time_limit(0);
这个函数将会使当前脚本无限制地运行。但需要注意的是,这个函数只会影响到调用它的那个 PHP 脚本,不会影响到其他 PHP 脚本。如果有多个 PHP 脚本运行在同一个服务器上,仍需要修改 PHP.ini 文件。
对于 CLI SAPI(命令行界面),可以在命令行运行 PHP 脚本时,在脚本路径后加上 -d max_execution_time=0
参数来设置无限执行时间。例如:
php -d max_execution_time=0 script.php
这将会启动一个无限执行时间的 PHP 脚本。
通过修改 PHP.ini 文件、使用 set_time_limit 函数或在命令行运行时加上参数,我们可以为 PHP 脚本设置无限执行时间。但需要注意的是,无限执行时间可能会导致服务器负载过高、内存占用过多等问题,需要慎重使用。