通过使用这个:
$size = ob_get_length();
header("Content-Length: $size");
header('Connection: close');
ob_end_flush();
ob_flush();
flush();
在ignore_user_abort(true);
中,我可以通过ajax调用接收完整状态,并让文件处理服务器端,而无需用户等待对要解析的文件内容的响应。
我想实现同样的效果,但使用header("Location: target");
而不是header('Connection: close');
,所以看起来一切都完成了,但文件在触发header("Location: target");
后继续解析
让文件继续工作但用PHP重定向用户的正确方法是什么。
顺便说一句,在连续五次投票之前,这个问题与PHP重定向用户并继续处理脚本没有重复,尽管标题似乎与这个问题相似。
让文件继续运行的正确方法是什么工作,但用PHP重定向用户?
您描述的是具有立即退出的并行处理,您将不得不在PHP:中对此进行篡改
- 打开父PHP页面
- 为另一个php文件的功能生成一个新线程(在php中,线程不存在,所以必须使用curl或其他执行方法(
- 重定向
- exit((
考虑第二步的方式与您启动一个ajax请求的方式相同,而您并不关心该请求的响应。它将与您的父页面并行进行。
否,它不会停止执行,但您可以通过退出调用手动停止执行