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

共享托管服务器缓存文件引发Laravel项目更新后加载旧页面异常

共享托管主机Laravel项目缓存残留、偶发返回旧内容问题解决方案

服务端层级缓存排查(偶发加载正确内容的核心诱因)

  • 托管商内置缓存:多数共享托管平台默认开启服务端页面缓存(如Nginx FastCGI缓存、LiteSpeed缓存、边缘节点CDN缓存),这类缓存独立于浏览器缓存、Laravel应用缓存,多节点部署时不同节点缓存过期时间不一致,会出现随机返回新旧内容的情况。
    处理方案:
    • 登录主机控制面板,找到缓存管理模块,手动清空全站缓存,测试阶段可临时关闭所有服务端缓存功能
    • 检查站点根目录下的.htaccess(Apache/LiteSpeed环境)或Nginx配置文件,删除历史添加的缓存控制规则后重试
  • PHP OPcache缓存:共享主机默认开启的OPcache会缓存PHP脚本编译后的字节码,源文件修改/删除后,OPcache未到刷新时间时仍会返回旧的执行结果。
    处理方案:
    • 如有php.ini修改权限,调整配置如下,确认问题解决后可按需调整刷新频率:
      opcache.validate_timestamps = 1
      opcache.revalidate_freq = 2
      
    • 无配置修改权限的情况下,在主机面板的PHP管理模块清空OPcache缓存,或重启PHP进程生效

Laravel应用全缓存清除流程

执行完整的缓存清除命令,避免遗漏单一类型缓存:

php artisan optimize:clear
php artisan view:clear
php artisan route:clear
php artisan config:clear
php artisan cache:clear

如果部署时执行过php artisan optimize生成优化缓存,每次代码更新后必须重新执行上述清除命令,或重新生成优化缓存。

站点路径配置排查

  • 确认站点根目录绑定到Laravel项目的public子目录,而非项目根目录,绑定错误会导致根路径访问时展示目录列表,路由加载异常
  • 检查站点根目录下是否存在残留的静态index.html文件,Web服务器默认会优先加载静态html文件,若存在旧项目生成的静态首页缓存,会优先返回旧页面内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 02:36:04