码迷,mamicode.com
首页 > Web开发 > 详细

php超时时间

时间:2018-09-03 02:25:40      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:通过   状态   修改   on()   参数   脚本超时   lis   有一个   有意思   

PHP脚本的执行有三种状态:

  • 0 - NORMAL(正常)
  • 1 - ABORTED(异常退出)
  • 2 - TIMEOUT(超时)

NORMAL 状态为正常执行,ABORTED状态为客户端终端链接,TIMEOUT状态为PHP执行时间超出时限。

那么问题来了:PHP的执行时限是多少呢?

PHP内部有一个计时器,默认的执行时间是30秒,这个值可以通过修改php.ini中的max_excution_time或httpd.conf设置中对应的“php_value max_execution_time”参数或使用PHP的set_time_limit()函数来更改。当脚本超时时就会退出。

不过有个问题需要注意一下:set_time_limit()函数只有在非安全模式下才能使用。

 

还有一个有意思的事情:

在客户端中断连接的时候可以设定PHP继续执行,因为有时候让脚本完整的运行会带来很多方便,即使没有远程浏览器接受脚本的输出。默认情况下远程客户端链接中断脚本即会退出,可以通过 php.ini 的ignore_use_abort 或 httpd.conf 中对应的 “php_value ignore_user_abort” 以及 PHP函数 ignore_user_abort() 控制脚本忽略用户退出,让脚本继续执行。不过这就可能会出现ABORTED、TIMEOUT两种状态同时存在的情况(PHP允许这两种状态同时存在),此时通过 connection_status() 函数检查脚本状态时返回的是3,并且通过 register_shutdown_function()  函数设置的程序关闭出发程序会被执行。

程序关闭出发程序”就是:

如果在远程客户端链接中断时就让脚本停止执行,并且你想在这一事件发生时执行特定的操作,那么你可以使用 register_shutdown_function()  函数设置。

 

php超时时间

标签:通过   状态   修改   on()   参数   脚本超时   lis   有一个   有意思   

原文地址:https://www.cnblogs.com/burningleaf/p/9575847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!