在用户提交表单后,我有一个长时间运行的脚本,我试图在实际脚本开始执行之前重定向它们但我认为该解决方案已过时,因为它什么也没做这是提交表单后脚本顶部的代码set_time_limit(0);header ( 'Connection: close' );ob_start ();header ( 'Content-Length: 0' );header("Location: www.google.com");ob_end_flush ();flush ();ignore_user_abort(true);预期结果:我的预期结果是让用户点击提交按钮,他们被重定向到 google.com 同时脚本将继续在我的服务器上执行实际结果:实际发生的是用户只是坐在页面上直到脚本完成执行
3 回答

慕运维8079593
TA贡献1876条经验 获得超5个赞
最简单的方法是 ajax 调用,但正如您所提到的那样,这是行不通的。我建议你排队。您可以在数据库中创建一个表,并在用户提交表单时向该表添加一个条目。并根据需要重定向用户。这不会花很长时间。
现在按照您的意愿创建一个 cron 作业,从该表中读取并使用表中的数据执行所需的脚本。脚本完成后从表中删除条目。
您可以从此处获得有关队列以及如何创建它们的更多详细信息
- 3 回答
- 0 关注
- 165 浏览
添加回答
举报
0/150
提交
取消