长时间 AJAX 请求后未找到 404

Posted

技术标签:

【中文标题】长时间 AJAX 请求后未找到 404【英文标题】:404 Not Found after a long AJAX request 【发布时间】:2014-06-23 15:27:33 【问题描述】:

我有一个功能可以一次性发送大量电子邮件。

提交表单 -> AJAX 请求 -> 发送电子邮件功能 -> 回显响应

当请求大约需要 30 秒时,一切都很好,我的请求返回了我需要的数据,我可以继续。当请求需要更长的时间(大约 2 分钟或更长时间)时,响应会以 404 Not found 的形式返回。

我已经尝试调试回显我的响应的代码部分,但它从未被命中。 以为可能是超时了,所以... 尝试在php.ini 中增加max_execution_timemax_input_time。 尝试在nginx.confd 中增加keepalive_timeout

不管这个404如何,所有的电子邮件都会被发送,我的 php 文件在请求完成时不会发送响应(除非如前所述,由于少量电子邮件不需要很长时间)

使用 openSUSE 12.2、php-fpm 5.4、nginx、MooTools 运行的网站,没有 php 框架 使用 PEAR mail::factory 发送电子邮件

服务器不是我设置的,我是公司的新员工

愿意尝试任何建议...

【问题讨论】:

也许中间有一个代理在 30 秒后退出并发送 404 给你? 【参考方案1】:

想通了我的问题,NGINX 有以下设置

fastcgi_read_timeout 120;

这是timing out我的请求。在我写问题时意识到这一点并写了php-fpm

【讨论】:

以上是关于长时间 AJAX 请求后未找到 404的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter 404 Page Not Found 找不到您请求的页面

执行 AJAX 请求后未应用 CSS

ajax设置响应时间长怎么办?

请求偶尔在chrome中停滞很长时间

使用 ajax、php 和 json 服务器发布请求时出现错误 404

为啥我对 web.api 的请求被长时间运行的控制器代码阻止?