You need to enable JavaScript to run this app. PrestaShop 1.7.6.5 backoffice加载超时 TraceableFirewallListener执行异常
优惠活动
大模型
产品
解决方案
定价
更多

PrestaShop 1.7.6.5 backoffice加载超时 TraceableFirewallListener执行异常

PrestaShop 1.7.6.5 后台加载超时问题排查修复

问题匹配特征

你遇到的以下表现和1.7.6.5版本的已知缺陷完全吻合:

  • Advanced Parameters板块下的Information页面完全无法正常加载,持续请求后触发超时
  • 调试模式下显示TraceableFirewallListener节点耗时占比极高
  • 手动修改classes/tools.php中的addonsRequest方法为直接返回false,没有任何性能改善

根因说明

TraceableFirewallListener本身的权限、路由校验逻辑不存在性能缺陷,耗时完全来自该监听器触发的同步远程请求分支:

  • 该分支的addons校验逻辑是硬编码在监听器内部的curl请求,和你修改的Tools::addonsRequest方法不属于同一个代码调用链路,你把该方法直接改成返回false的调整,根本没有触达实际阻塞的执行点,所以不会有任何性能改善
  • 默认配置下,后台防火墙加载规则时会同步向官方addons服务发起3次以上的元数据校验请求,每次请求默认超时阈值为5s,一旦当前服务器到addons域名的连通性异常,累计的等待时间就会触发页面整体加载超时

分步修复操作

  • 调整addons请求超时阈值
    在项目根目录的config/defines.inc.php文件末尾追加常量定义,把默认5s的请求超时压缩到1s,即使请求失败也不会长时间阻塞页面:
    define('__PS_ADDONS_TIMEOUT__', 1);
    
  • 关闭所有触发远程校验的后台开关
    进入后台的Advanced Parameters > Administration配置页,把两个选项设置为关闭:
    • 自动检查模块更新
    • 在高级参数页面检查PrestaShop新版本
      这两个开关对应的独立请求逻辑,是触发Information页面加载时阻塞的核心源头,和你之前修改的tools类代码没有关联
  • 清空生产环境缓存
    删除var/cache/prod目录下的全部缓存文件,重启PHP进程,避免旧的路由缓存把监听器逻辑绑定到失效的远程调用分支上

验证方法

  • 重新打开调试模式加载Information页面,TraceableFirewallListener的耗时会回落至正常范围(通常低于100ms)
  • 服务器即使完全无法访问外网addons域名,页面也可以正常加载不会超时

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.01 01:45:03