Laravel 8 Localisation(本地化)功能本地正常服务器上失效求助
Laravel 英文/阿拉伯文本地化部署失效排查方案
1. 缓存清理(优先排查)
Laravel 生产环境会缓存配置、路由、翻译类内容,本地修改后直接上传不会自动生效,需在服务器项目根目录依次执行以下命令:
- 清除配置缓存:
php artisan config:clear - 清除路由缓存:
php artisan route:clear - 清除视图缓存:
php artisan view:clear - 清除全局缓存:
php artisan cache:clear
如果生产环境需要开启缓存提升性能,清理后可执行php artisan config:cache、php artisan route:cache重新生成缓存,注意生成缓存后再修改env、翻译、路由文件都不会生效,需重新清理后再生成
2. 检查文件上传完整性
- 确认
resources/lang目录下的英文、阿拉伯文翻译文件全部上传到服务器,无遗漏或损坏 - 确认本地化中间件配置和本地一致,检查
app/Http/Kernel.php中的全局中间件、web 中间件组是否已注册你使用的本地化切换中间件
3. 核对服务器配置
- 确认
.env文件内APP_LOCALE、APP_FALLBACK_LOCALE参数和本地测试配置一致,无拼写错误 - 可临时将
APP_DEBUG设为true,访问站点查看是否有明确报错信息辅助定位
4. 修正站点根目录指向
大部分虚拟主机默认站点根目录为 public_html,如果直接上传整个 Laravel 项目到该目录,会出现路由路径错误问题,需确认站点根目录指向项目内的 public 文件夹,而非项目根目录。
若无法修改站点根目录配置,可将项目
public目录下的所有文件移动到public_html根目录,再修改public_html/index.php内的项目路径指向到上层存放的 Laravel 核心目录即可。
5. 检查路由与伪静态配置
- 确认本地化路由的前缀/域名规则和生产环境的正式域名匹配,无路径冲突
- 确认服务器 Nginx/Apache 已配置 Laravel 要求的伪静态规则,否则带前缀的本地化路由无法正常解析
内容的提问来源于stack exchange,提问作者developer
相关产品推荐
相关产品推荐

