php set_time_limit() 函数

来源:互联网 发布:ubuntu 微信调试工具 编辑:程序博客网 时间:2024/04/29 07:27
语法 : void set_time_limit (int seconds)

说明 :

    设定一个程式所允许执行的秒数,如果到达限制的时间,程式将会传回错误。它预设的限制时间是30秒,max_execution_time的值定义在结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini),如果将秒数设为0,表示无时间上的限制。

    当呼叫此函式时,set_time_limit( )会从零重新开始计算最长执行的时间,也就是说,如果最长执行时间为预设的30秒,而在呼叫此函式set_time_limit(20)之前已花了25秒来执行程式,则程式最长执行的时间将会是45秒。

    注意 : 当PHP是执行在安全模式时,set_time_limit( )将不会有结果,除非是关闭安全模式或是修改结构档案中(在PHP3中叫做php3.ini,在PHP4则叫做php.ini)的时间限制。
 例 :

set_time_limit(1000)


注意:

set_time_limit()函数和配置指令max_execution_time只影响脚本本身执行的时间。任何发生在诸如使用 system()的系统调用,流操作,数据库操作等的脚本执行的最大时间不包括其中,当该脚本已运行。在测量时间是实值的Windows中,情况就不是如此了。 意思是说在windows下 system()的系统调用,流操作,数据库操作等的脚本执行的时间是包含在max_execution_time里面的

即是说:sleep 是不算在脚本执行时间里面的



注意2:

set_time_limit只是设置你的PHP程序的超时时间,而不是file_get_contents函数读取URL的超时时间。    如果想改变file_get_contents的超时时间,可以用resource $context的timeout参数:    $opts = array(           'http'=>array(           'method'=>"GET",           'timeout'=>60,            )    );   $context = stream_context_create($opts);   $html =file_get_contents('http://www.example.com', false, $context);   fpassthru($fp);