Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置php最大执行时间的正确方法_Php_Config - Fatal编程技术网

设置php最大执行时间的正确方法

设置php最大执行时间的正确方法,php,config,Php,Config,我试图在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); in

我试图在
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
上定义它?
谢谢。

设置时间限制以秒为单位设置最大执行时间。如果设置为零,则不施加时间限制

set_time_limit(0);

默认情况下,PHP脚本的最大执行时间设置为30 秒。如果脚本运行时间超过30秒,PHP将停止 脚本并报告错误。您可以控制PHP的时间量 允许通过更改中的max_execution_time指令来运行脚本 您的php.ini文件


让我看看这个错误是不可能的

Fatal error: Maximum execution time of 6 seconds exceeded
您没有收到此错误,因为服务器上的“显示错误”未打开。

我也需要在php.ini上定义它吗?


也不需要在php.ini上定义它。您可以像以前一样动态设置它。

为什么我的代码没有出错??我把时间设为6秒。但我的整个过程是11秒??默认情况下,PHP脚本的最大执行时间设置为30秒。如果脚本运行时间超过30秒,PHP将停止脚本并报告错误。您可以通过更改PHP.ini文件中的max_execution_time指令来控制PHP允许脚本运行的时间量。。。有什么我遗漏的吗?RayanArief你能发布完整的代码吗?因为我不明白为什么会发生这样的事0:00:05“没有任何错误”…:D、 你知道吗?不,我不知道,但是的,可能是你的睡眠功能不工作或执行超时…很抱歉浪费你的时间