我尝试在php
设置执行时间,但似乎无法正常工作。
我试过这个。
<?php
function secondsToTime($s)
{
$h = floor($s / 3600);
$s -= $h * 3600;
$m = floor($s / 60);
$s -= $m * 60;
return $h.':'.sprintf('%02d', $m).':'.sprintf('%02d', $s);
}
$a = microtime(true);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
ini_set('max_execution_time', 3);
sleep(2);
echo 'oke';
sleep(3);
echo 'yes';
$b = microtime(true);
echo secondsToTime($b-$a);
?>
但是当我尝试时,它显示11秒,而不是错误或其他。
为什么我的代码没有错误?我把时间设定为6秒。但我的整个过程是11秒?
我是否还需要在php.ini
上定义它?
谢谢。
答案 0 :(得分:1)
set_time_limit
设置最长执行时间(以秒为单位)。如果设置为零,则不会施加时间限制
set_time_limit(0);
默认情况下,PHP脚本的最长执行时间设置为30 秒。如果脚本运行时间超过30秒,PHP将停止运行 脚本并报告错误。你可以控制PHP的时间量 允许脚本通过更改max_execution_time指令来运行 你的php.ini文件。
答案 1 :(得分:1)
它告诉我这个错误
Fatal error: Maximum execution time of 6 seconds exceeded
您没有收到此错误,因为您的服务器上显示错误&#34;显示错误&#34;没有。
我是否需要在我的php.ini上定义它?
也不需要在php.ini上定义它。你可以像现在一样动态设置它。