我对这个人的设置非常相似:
即一个非常长的脚本,最多需要10分钟.但是,我需要在脚本工作时调用脚本的人重定向回主页.换句话说,我需要用户体验是这样的:
>单击更新按钮
>脚本开始执行,最多可能需要10分钟
>用户立即重定向回主页
这只能使用PHP吗?我认为我需要
ignore_user_abort(true);
set_time_limit(0);
但是如何重定向用户呢?我不能使用javascript,因为输出只会以很高的增量写入页面,我希望重定向是立即的.我可以使用标题吗?或者这会搞乱事情吗?
或者,我可以使用cron作业方法,但我没有做cron工作或运行PHP代码的经验(甚至可能吗?)
谢谢,
马拉
更新:
使用标头重定向不起作用 – 在脚本完成之前,页面将不会加载.但是,最终网络服务器超时并说“零大小的回复:无法检索到请求的URL”(尽管脚本继续运行).我想我唯一的选择就是遵循cron的工作理念.伊克!
最佳答案 我已经尝试了几种方法,似乎没有一种方法可行,我甚至尝试使用register_shutdown_function(),但也失败了.我猜你一直在做一个cron工作.
我只记得一些东西(但我没有测试过),你可以尝试这样做:
set_time_limit(0);
ignore_user_abort(true);
ob_start(); // not sure if this is needed
// meta refresh or javascript redirect
ob_flush(); // not sure if this is needed
flush();
// code to process here
exit();
不确定它是否有用,但你可以尝试一下.