IIS 8.5上的register_shutdown_function PHP在相同的请求上触发

问题描述:

我遇到了几个问题,让一些代码在Windows的后台运行。我想在后台运行一个大的处理请求(发送电子邮件),我使用以下IIS 8.5上的register_shutdown_function PHP在相同的请求上触发

register_shutdown_function(array(__CLASS__, "consume_on_shutdown")); 

一旦请求完成启动过程。这在我的Mac上运行良好,但是当我尝试在Windows上执行时,它会立即执行相同的请求,因此会挂起很长时间。有没有人遇到类似的问题?执行关机功能之前

+0

http://php.net/manual/en/function.fastcgi-finish-request.php – Deadooshka

register_shutdown_function不保证该连接将被关闭。正如你在Windows上看到的那样,它将保持到客户端的连接打开,直到脚本和关闭功能都执行完毕。

如果您需要在Windows上运行,你最好的选择是将其发送到调度或启动一个单独的线程,这两者都不是容易移植到了代码的可移植性非Windows操作系统。