php有没有可以检测函数执行时间的功能
有的函数执行时间特别长,我想限制一下,如果执行时间超过了限制,就中断执行,跳到下一步。求思路。...
有的函数执行时间特别长,
我想限制一下,
如果执行时间超过了限制,
就中断执行,跳到下一步。
求思路。 展开
我想限制一下,
如果执行时间超过了限制,
就中断执行,跳到下一步。
求思路。 展开
展开全部
PHP 中的 microtime() 函数可以实现
microtime() 函数返回当前 Unix 时间戳和微秒数。
microtime(get_as_float)
参数说明
get_as_float 如果给出了 get_as_float 参数并且其值等价于 TRUE,该函数将返回一个浮点数。
本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。
例如:
<?php
$start_time = microtime(true);
for($i=1;$i<=1000;$i++){
echo $i.'<br>';
}
$end_time = microtime(true);
echo '循环执行时间为:'.($end_time-$start_time).' s';
?>
microtime() 函数返回当前 Unix 时间戳和微秒数。
microtime(get_as_float)
参数说明
get_as_float 如果给出了 get_as_float 参数并且其值等价于 TRUE,该函数将返回一个浮点数。
本函数仅在支持 gettimeofday() 系统调用的操作系统下可用。
例如:
<?php
$start_time = microtime(true);
for($i=1;$i<=1000;$i++){
echo $i.'<br>';
}
$end_time = microtime(true);
echo '循环执行时间为:'.($end_time-$start_time).' s';
?>
展开全部
mico_time()函数可以看当前的微秒级unix时间戳
你可以考虑在函数执行完的前后各读取一次,最后获取差值。可惜只能用来衡量执行时间,不可能向您说的那样执行时间过长中断执行。
原因是PHP执行脚本是但进程的,虽然可以开多线程,可是不能满足你的要求,也就是说你这个要求是需要开运行函数进程同时,增加一个监视这个函数运行时间的进程,本身PHP就无法实现。
还满意吗?
你可以考虑在函数执行完的前后各读取一次,最后获取差值。可惜只能用来衡量执行时间,不可能向您说的那样执行时间过长中断执行。
原因是PHP执行脚本是但进程的,虽然可以开多线程,可是不能满足你的要求,也就是说你这个要求是需要开运行函数进程同时,增加一个监视这个函数运行时间的进程,本身PHP就无法实现。
还满意吗?
更多追问追答
追问
好吧,
我知道这个问题几乎不可能完成,
只是php开多线程可以吗?
一直都以为php不能写多线程的。
追答
php会自动为每次访问的脚本分配一个线程,一般想要达到多线程,需要用LINUX的shell脚本配合php或者其它语言的脚本来调用完成。
很复杂,大网站的队列处理机制就这样做的,具体也不会写了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询