PHP函数: set_time_limit

php中文网
发布: 2016-06-23 14:33:34
原创
1897人浏览过

函数定义:   

void set_time_limit ( int $seconds )

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

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

 

立即学习PHP免费学习笔记(深入)”;

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

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

 

立即学习PHP免费学习笔记(深入)”;

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

例子1: 

<?phpif( !ini_get('safe_mode') ){  set_time_limit(25);}?>
登录后复制

 

立即学习PHP免费学习笔记(深入)”;

例子2:

<?phpset_time_limit(20);while ($i<=10){  echo "i=$i ";  sleep(100);  $i++;}?>
登录后复制

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

 

立即学习PHP免费学习笔记(深入)”;

例子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!';}?>
登录后复制

超时错误捕获.

 

立即学习PHP免费学习笔记(深入)”;

 

立即学习PHP免费学习笔记(深入)”;

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号