You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AJAX请求60秒后返回504错误,调整PHP等超时配置仍未解决怎么办

504超时问题解决步骤
  • 首先调整前端AJAX的超时配置
    jQuery AJAX默认继承浏览器的XHR超时规则,多数浏览器默认单请求最大超时时间为60秒,你需要显式在AJAX配置中添加timeout参数,单位为毫秒,示例修改后代码如下:
$.ajax({
    type: 'GET',
    url: post_url, 
    data: post_data,
    timeout: 120000, // 新增配置,设置超时时间为120秒
    success: function(msg) {
        $("#loading").hide();
        $(box).fadeOut(0, function(){
            box.html(msg).fadeIn(0);
        });
    },
    error: function(xmlhttprequest, textstatus, message) {
        if(textstatus==="timeout") {
            alert("got timeout");
        } else {
            alert(textstatus);
        }
    }
});
  • 检查Web服务的超时配置
    • 如果使用Nginx作为Web服务,仅修改全局Timeout不生效,需要在站点配置的server或对应PHP处理的location块中添加如下配置:
    fastcgi_read_timeout 120;
    proxy_read_timeout 120;
    
    修改完成后执行nginx -s reload重载配置生效。
    • 如果使用Apache作为Web服务,确认httpd.conf中的TimeOut 120配置已经生效,修改后重启Apache服务。
  • 检查PHP-FPM的超时配置
    如果使用PHP-FPM模式运行PHP,需要修改php-fpm.conf配置文件中的request_terminate_timeout参数,该参数优先级高于php.ini中的max_execution_time,默认值多为60s,将其调整为120后重启PHP-FPM服务生效。
  • 确认PHP配置实际生效
    可以在测试脚本中添加phpinfo();输出当前运行配置,确认max_execution_time、max_input_time参数是否为你设置的数值,避免出现修改了错误的php.ini文件(CLI模式和FPM模式通常使用独立的php.ini配置)导致配置不生效的问题。

内容的提问来源于stack exchange,提问作者blooblabb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:21:02