在 PHP 脚本中获取 max_execution_time

80

我知道可以使用以下任一方式在脚本中设置最长执行时间:

ini_set('max_execution_time', 30);
或者
set_time_limit(30);

我该怎么做才能获取一个包含最大执行时间的变量(以秒为单位)?


13
需要注意的是,ini_set('max_execution_time', 30);set_time_limit(30);并不完全相同,因为set_time_limit()会将计时器重置为0,而ini_set()则不会。 - DaveRandom
4个回答

164

使用ini_get实现相反的功能:

ini_get('max_execution_time'); 

注意:如果您查看ini_set的文档页面,您可以在“请参阅”部分中找到ini_get。这是一个非常好的发现PHP内置功能的方法,这些功能您之前可能并不知道。


1
值得注意的是,在使用ini_setset_time_limit()设置时间时,它会将当前时间重置为0,正如其他答案中所详细说明的那样。 - William Patton

27

评论中有一些不准确的观点,为了澄清:

  1. set_time_limit(30) 等同于 ini_set('max_execution_time', 30);
  2. 它们都会重置计时器。
  3. ini_get('max_execution_time') 对于set_time_limitini_set都有效。

1
set_time_limit增加的时间是在max_execution_time之外的。因此,非常具体地说,它们不是相同的(!==)。 - Shivanand Sharma
@ShivanandSharma 我也曾有同样的想法,但前几天我用 set_time_limit(1) 进行了一次测试,发现在一秒钟后由于超过执行时间而结束了脚本。我需要进行更多的测试,但我认为它确实重置了计时器。至少第一个调用是这样的。 - Pol Rué

25

你可以尝试一下

$max_time = ini_get("max_execution_time");
echo $max_time;

你可以根据自己的需要使用这个变量 :)


13

尝试这个:

ini_get('max_execution_time')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接