我想获取用户的输入,回复它们,然后更新数据库中的一些内容。但是响应不需要数据库中的东西,所以我不希望用户必须等待它。有没有办法说“我已经完成了。继续发送给用户。”但是继续执行更多PHP代码?
答案 0 :(得分:1)
看看php http://php.net/manual/en/function.exec.php中的exec()。在你的php页面处理结束之前,你可以用exec()发出命令,比如运行一个php脚本cli:http://php.net/manual/en/features.commandline.php(基本上在后台运行)。一定要注意(对于exec()):
如果使用此功能启动程序,为了使其在后台继续运行,必须将程序的输出重定向到文件或其他输出流。如果不这样做将导致PHP挂起,直到程序执行结束。
答案 1 :(得分:0)
你可以使用flush,它会发送数据,但是它可能没有你想要的效果(页面仍然会被加载)。
当你有一个管理类型脚本产生迭代输出但可能需要一段时间才能运行时,它会被使用。