当浏览器关闭时停止php脚本的执行

4

我有一个运行在Nginx和PHP-FPM上的PHP应用程序。

在使用Apache时,请求被放弃(浏览器关闭)会终止PHP进程,但现在脚本会一直执行到结束。Nginx的fastcgi_ignore_client_abort选项为Off,我也没有使用fastcgi_finish_request函数。

这种行为的原因是什么?或者我如何告诉PHP请求已经被放弃了?

2个回答

0

FastCGI会保留进程并在特定文件的进程内关闭句柄。这是FastCGI和常规CGI之间的主要区别之一。此外,PHP完全不知道浏览器。


0
这是 fast-cgi 通常比 mod_php 提供更好性能的原因。采用线程方式而不是分叉意味着没有为每个请求启动(或关闭)Apache进程的开销。
您可以配置运行的子进程数量来调整使用的资源量,方法请参阅 进程管理文档

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接