• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP函数:set_time_limit

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

函数定义:   

void set_time_limit ( int $seconds )

 

  设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,或者是在php.ini的max_execution_time被定义的值,如果此值存在。

 

  当此函数被调用时,set_time_limit()会从零开始重新启动超时计数器。换句话说,如果超时默认是30秒,同时,脚本中又设置了25秒,如 set_time_limit(20)。那么,脚本在超时之前可运行总共时间为45秒。

 

安全模式下, 该函数无效.

set_time_limit()函数和配置指令max_execution_time仅仅只影响脚本本身的执行时间。任何时间运行程序的操作,在脚本执行系统调用,如使用system(),流操作,数据库查询等,不包括在确定的最大时间,该脚本已运行。这不是在Windows如此,因为测量的时间是真实的。

 

sleep()函数的效果根据操作系统不同而不同, linux下执行程序时的持续时间将会被忽略掉, windows下执行程序时的持续时间将被计算在内.

例子1: 

<?php
if( !ini_get('safe_mode') ){
  set_time_limit(25);
}
?>

 

例子2:

<?php
set_time_limit(20);
while ($i<=10)
{
  echo "i=$i ";
  sleep(100);
  $i++;
}
?>

 说明: 在linux下, sleep不起作用; windows会报超时, 而不会有任何输出.

 

例子3:

<?php
$es = ini_get('error_reporting');
register_shutdown_function( "time_out_callback");
set_time_limit( 3 );//假设3秒超时
error_reporting( 0 );//屏蔽fatal error
//模拟超时
while (true) {
    //echo connection_status()."<br/>";
}
error_reporting($es);//恢复设置

function time_out_callback()
{
    if(connection_status() == 2)
    {
        b();    
    }
}
function b()
{
    echo 'hello world!';
}
?>

超时错误捕获.

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
基于GD库的php验证码类(支持中英文字体、背景、干扰点线、扭曲…….) ...发布时间:2022-07-10
下一篇:
php面试知识发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap