加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

当用户中止请求时,如何让PHP-FPM进程终止? (Nginx的)

发布时间:2020-12-13 16:16:12 所属栏目:PHP教程 来源:网络整理
导读:我知道Nginx与 PHP-FPM进程无关,但我更喜欢如果用户中止,PHP-FPM进程死了,所以它不会继续做不必要的事情或浪费资源.对于PHP-FPM / Nginx,无论用户是否中止,都会发生trigger_error: ?phpsleep(30);trigger_error('Still happened?');? 如何为PHP-FPM执行用户
我知道Nginx与 PHP-FPM进程无关,但我更喜欢如果用户中止,PHP-FPM进程死了,所以它不会继续做不必要的事情或浪费资源.对于PHP-FPM / Nginx,无论用户是否中止,都会发生trigger_error:

<?php

sleep(30);
trigger_error('Still happened?');

?>

如何为PHP-FPM执行用户中止? (如果可能的话)

解决方法

You can decide whether or not you want a client disconnect to cause
your script to be aborted.

根据PHP手册:Connection Handling

要设置此行为,请使用ignore_user_abort

客户端断开连接后,ignore_user_abort(FALSE);将中止PHP脚本的运行.

ignore_user_abort(TRUE);将忽略客户端断开连接并继续运行脚本.

在第二种情况下,您可能还希望根据需要使用set_time_limit,以便为脚本提供足够的时间来完成任务.

此设置已成功在PHP-FPM / nginx环境中进行了测试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读