在一定量的PHP循环(2分钟)之后,Ajax调用停止

时间:2018-01-04 15:08:52

标签: javascript php jquery ajax

我有一个按钮可以检查很多(300+)帖子中的特定值和其他内容(大约20个,如果,其他的)。不知怎的,按钮的ajax调用在循环约73次/ 2分钟后停止。

它没有循环这个ajax调用,它所引用的函数中有一个PHP循环。

有没有办法延长这个?这就是我目前所拥有的:

$.ajax({
    url: ajaxurl + "?action=updatefield",
    type: 'post',
    data: dataString,
    success: function(data) {
        console.log("SUCCESS!");
        $("#myResponse").html("<h4>Response: </h4><hr>" + data);
    },
    error: function(data) {
        console.log("FAILURE");
    },
    timeout: 600000 // (this is what I tried, but it doesn't seem to work)
});

也许这是我的问题的答案,但不是我的问题:Browser Timeouts

有没有办法延长这段时间,还是有另一种方式?

2 个答案:

答案 0 :(得分:0)

所以让我做对了......你有一个Ajax调用触发一个PHP循环,它是PHP循环超时?

可能是:

  1. HTTP超时(这可以在Apache配置中增加,但不建议这样做)
  2. HTTP正文大小溢出(同样可以在Apache配置中增加,但不建议这样做)
  3. 服务器端限制PHP脚本的最大执行时间(这可以在php.ini中更改,但猜猜是什么......不推荐!)
  4. 最终你没有做到这一点。您应该经常调用PHP脚本(例如每秒),方法是将Ajax调用放在JS setInterval(1000)中; PHP脚本本身应该快速而重要。

答案 1 :(得分:0)

我通过启用PHP错误来跟踪问题。除了修复常见错误外,我发现了这个问题。

Allowed memory size of 134217728 bytes exhausted

我正在尝试清理我的代码并删除任何不必要的请求以提高速度和效率。谢谢你的所有答案。