php脚本执行超时时间set_time_limit方法的用法,set_time_limit放在哪儿

今天有人问我 set_time_limit  设置脚本运行时间 放哪儿。

首先脚本执行超时间是可以在,php.ini文件中设置的,max_execution_time 这个选项设置。如果在php脚本里更改或设置脚本运行超时时间则需要使用set_time_limit 方法。

在网上搜了一下,要么就是没有讲这个方法在哪儿用,要么就是说要放在文件首行或者脚本入口 ,这种说法是不对的

下面一段话是从官方文档中看到的

官方文档原文:When called, set_time_limit() restarts the timeout counter from zero. In other words, if the timeout is the default 30 seconds, and 25 seconds into script execution a call such as set_time_limit(20) is made, the script will run for a total of 45 seconds before timing out.

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

从上面这句话就可以看出来 set_time_limit  函数是可以放在任何地方的,比如你把set_time_limit  方法放在你的a.php文件的第1111行,你设置set_time_limit (30) ,那么 脚本执行时间为,从脚本运行开始执行到a.php文件的1111行所需要的时间加上set_time_limit 设置的30秒的时间,

假定你执行到a.php第1111行时已经用了2秒,那么你的整个脚本运行过程的超时时间则为30+2   共32秒才算是超时。

总结 set_time_limit是可以用在任何地方的,但是也不要用的地方太多了,要不然可能会出问题。


Tags php linux 建站

留言(0)

评论