当HTTP连接死亡时,apache执行的PHP脚本是否被杀死?

时间:2011-05-02 16:21:11

标签: php apache

我正在使用PHP运行Apache的标准配置。 我想知道当客户端请求导致PHP脚本执行的页面时会发生什么,然后客户端在脚本完成之前终止来自服务器的请求。 Apache是​​以某种方式杀死脚本,还是允许它完成?

1 个答案:

答案 0 :(得分:8)

documentation回答了这个问题:

  

当PHP脚本正常运行时   NORMAL状态是活动的。 如果   远程客户端断开ABORTED   状态标志已打开。远程   客户端断开通常是由   用户按下STOP按钮。如果   PHP强加的时间限制(见   命中set_time_limit()),TIMEOUT   状态标志已打开。

     

您可以决定是否需要   客户断开连接导致您的   要中止的脚本。有时是   总是让你的脚本运行方便   完成即使没有   远程浏览器接收输出。   但是默认行为是   你的脚本要在中止时中止   远程客户端断开连接。 :此   行为可以通过   ignore_user_abort php.ini指令为   以及通过相应的   php_value ignore_user_abort Apache   httpd.conf指令或者用   ignore_user_abort()函数。如果你   不要告诉PHP忽略用户中止   并且用户中止,您的脚本将   终止。

如果您想告诉远程客户端脚本已完成,但仍继续请求后处理,请查看this question/answer