Sam*_*uel 87
你应该尝试一下,只需要一个睡眠时间超过最长执行时间的脚本.
<?php
sleep(ini_get('max_execution_time') + 10);
?>
Run Code Online (Sandbox Code Playgroud)
Spoiler:在Linux下,睡眠时间被忽略,但在Windows下,它被视为执行时间.
它只影响脚本时间而不影响睡眠()等系统调用.显然有一个错误,其中包括Windows sleep().最大执行时间大约是实时,而不是CPU时间或类似的东西.你可以改变它:
至于最后两个之间的差异,我认为max_execution_time是一个固定的数量.运行:
ini_set('max_execution_time', 60);
Run Code Online (Sandbox Code Playgroud)
将脚本限制为60秒.如果在20秒后你打电话:
set_time_limit(60);
Run Code Online (Sandbox Code Playgroud)
该脚本现在将限制为20 + 60 = 80秒.
从PHP sleep()页面,这是用户提供的注释:
注意:set_time_limit()函数和配置指令max_execution_time仅影响脚本本身的执行时间.在确定脚本运行的最长时间时,在执行脚本之外发生的任何活动(例如使用system()的系统调用,sleep()函数,数据库查询等)都不包括在内.