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

Plesk主机部署Laravel 10+PHP 8.2时随机出现404及默认错误页求助

排查Laravel 10生产环境随机异常的解决方案

以下是针对你遇到的随机页面异常、404及默认错误页问题的排查方向:

1. 清理Laravel应用缓存

生产环境部署后未清理缓存会导致配置、路由等数据不一致,引发随机异常。执行以下命令:

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

如果之前生成过路由缓存(route:cache),确认所有路由配置无误后,再重新生成路由缓存。

2. 检查PHP OPcache配置

OPcache缓存的旧脚本可能导致随机执行异常,检查php.ini中的OPcache配置:

  • 确保opcache.validate_timestamps = 1,让OPcache定期检查文件更新
  • 调整opcache.revalidate_freq = 60(可根据实际情况调整时间,单位秒)
  • 重启PHP服务(如systemctl restart php8.2-fpm)使配置生效

3. 修复文件权限问题

Laravel的storage和bootstrap/cache目录需要正确的读写权限,否则会随机出现写入失败(如日志、缓存写入):

chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cache # 替换为你的web服务器用户组

4. 排查服务器进程与负载均衡配置

  • 如果使用PHP-FPM,检查php-fpm.conf中的pm.max_children、pm.start_servers等参数,确保进程数足够处理并发请求,避免请求被丢弃
  • 若使用负载均衡,开启粘性会话(Sticky Session),确保同一用户的请求始终分发到同一后端服务器,避免会话数据不一致

5. 验证静态资源缓存策略

浏览器或CDN的静态资源缓存过期设置不当,会导致旧资源加载异常。检查Nginx配置中的静态资源缓存规则:

location ~* \.(css|js|png|jpg|jpeg|gif|ico)$ {
    expires 1y;
    add_header Cache-Control "public, immutable";
}

同时确保Laravel Mix生成的资源带有版本号(mix.version()),避免浏览器缓存旧资源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 03:47:09