我的问题是:
HTTP请求在2分钟后被取消,但服务器端处理仍在继续。
我有大量数据处理,我的数据库包含大量数据。所以我使用正常的表单提交方法处理屏幕,当我检查浏览器控制台时,请求状态变为取消。但是在服务器上,该过程继续此请求取消。同样当请求被取消时,文件将自动下载,无法打开,文件扩展名也不存在。我已使用
将最大执行时间限制为无限制set_time_limit(0);
,但它没有改变这种情况。在我的代码中,我写了一些代码将内容写入文件。所以在请求被取消后,文件写入操作继续。我正在尝试解决此错误,但没有找到任何解决方案。请帮我。 我正在使用apache服务器。
截图 我正在做的过程:
1.Selecting large number of data from a table which contains large number of data.
2.Checks whether each record matches certian conditions
3.Matching records are written into a file and that file is report generation
4.Allowing the user to download the file after the process completion.
我听说如果客户在特定时间后没有收到任何回复,那么它会取消对服务器的请求。这就是我的问题。如果是这样我该如何解决呢?
答案 0 :(得分:0)
Php没有发现请求被取消,直到它尝试向客户端发送数据。您应该能够定期执行此操作来解决此问题:
echo ' '; flush();
如果ignore_user_abort为false,这将结束您的脚本。