PHP 长邮件队列和 HTTP 请求

PHP long mail queue and HTTP request

我对 PHP 脚本的 HTTP 请求有疑问。 如果我的脚本发送了很多电子邮件并且需要一些时间才能完成并且客户端关闭了其浏览器,那么脚本是否会被中止? 我可以认为一旦脚本启动邮件队列就开始了吗(显然删除 php 设置中的任何超时)? 我不关心给客户的回复。

脚本将运行结束(直到完成或出现一些错误)

自己试试:

somefile.php

for( $i = 1; $i <= 25; $i++ ) {
    file_put_contents( "seconds.txt" , $i );
    sleep(1);
}

打开浏览器,导航到此脚本并关闭浏览器。

稍等几秒钟,看看文件中有什么seconds.txt

另一种方法是在后台启动执行实际工作的脚本。这样,您的脚本将立即 return(但您必须使用其他方式来证明成功)。

喜欢:

exec('/path/to/worker parameters &');