我正在努力寻找用户访问page1.php并且此页面包含另一个page2.php的问题的解决方案,这需要花费大量时间(约5分钟)来完成所有计算但计算结果不需要向用户显示。因此,不值得让用户等待它的完成。
我正在寻找一个解决方案,用户应该访问page1.php,并在一些必要的检查列表之后,它应该向用户显示他的请求处理已经开始的消息。并且在后端page2.php应该完成所有工作,即使用户应该关闭窗口。
答案 0 :(得分:3)
查看此链接How do I make an asynchronous GET request in PHP? 如果您希望在请求页面上显示结果,请使用file_get_contents
答案 1 :(得分:0)
将实际计算卸载到独立进程(cron作业或自定义守护程序)并实现某种作业队列(例如,使用数据库)。所以你的前端(PHP网站)会将数据添加到数据库表中,然后定期检查它(例如通过读取'progress'列或其他内容);处理守护程序将在表中查看是否有任何新作业,如果有,则开始处理它们,根据需要更新表。