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

Laravel 5.4+Voyager 1.1后台背景图更新报错问题咨询

解决Laravel 5.4 + Voyager 1.1后台背景图更新报错的问题

嘿,我之前在Laravel 5.4搭配Voyager 1.1做项目的时候,也碰到过几乎一模一样的报错!这个问题确实存在,大概率是你在配置或者操作过程中遗漏了几个关键步骤,下面给你梳理一下排查方向和解决办法:

  • 检查文件存储的基础配置
    这是最常见的触发原因:

    • 先确认.env文件里的APP_URL是否正确设置,本地开发应该是APP_URL=http://localhost:8000,生产环境要填写你的实际域名;
    • 执行php artisan storage:link,把Laravel的storage/public目录软链到public/storage——Voyager默认会把上传文件存在这个路径,没做软链的话系统根本找不到文件;
    • 给storage和public目录设置正确权限,Linux服务器可以运行chmod -R 755 storage public,确保服务器拥有写入权限。
  • 排查上传操作和文件存在性

    • 你在Settings菜单上传背景图时,是不是确实选中了本地文件?有时候误操作会导致提交空的文件路径,直接触发Unable to find file ()报错;
    • 上传完成后,去public/storage目录下找找有没有刚才上传的图片,如果没有,说明上传过程本身就失败了,回到第一步重新检查权限和软链配置。
  • 修复Voyager 1.1的已知小BUG
    因为Voyager 1.1是比较老的版本,和Laravel 5.4的兼容性存在一些小问题:

    • 打开vendor/tcg/voyager/src/Controllers/VoyagerSettingsController.php,找到处理设置更新的方法;
    • 在处理admin_background_image的代码块前,添加判断:if ($request->hasFile('admin_background_image')),确保只有存在上传文件时才执行读取操作,避免空路径传递。
  • 清除缓存重置状态
    有时候缓存会导致路径读取异常,运行以下命令清除缓存:

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

    清除后重新登录后台,再尝试上传背景图。

按照上面的步骤排查下来,基本就能解决这个报错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:43:22