Skip to content

v1.11.11 — 修复上传图片 /storage/ 访问 403

Choose a tag to compare

@SunGreatSage SunGreatSage released this 06 Aug 10:01
· 128 commits to main since this release

v1.11.11

🐛 修复:上传图片 /storage/... 访问 403 无法显示

现象:素材管理上传图片后,图片 URL(https://域名/storage/media/2026/08/xxx.png)访问 403("访问被拒绝"),
图片不显示。

根因:素材图片存储在 storage/app/public/media/,需通过 public/storage 软链接才能经
/storage/... 访问(Laravel 标准 php artisan storage:link 创建)。安装流程未自动创建该链接,
导致:

  • 图片请求落到 Laravel 路由(而非静态文件),返回 403
  • 连带影响:上传的图片无法预览/展示

修复:

  1. InstallCommand(命令行安装)迁移完成后自动执行 storage:link,创建 public/storage 软链接
  2. InstallController(Web 安装向导)同样在迁移后创建链接(失败静默,不影响安装)

验证:

  • 本地模拟:删除 public/storage → 上传图片 URL 403 → 执行 storage:link → 图片 URL 200 正常显示
  • 162/162 测试通过

⚠️ 已有环境手动修复(重要):
已部署的站点需在服务器手动执行一次:

php artisan storage:link

或进入 Docker 容器执行。执行后 /storage/... 图片即可正常访问。

说明:关于"删除图片失败"——当前版本(v1.11.10 起)删除功能已正常(实测 DELETE 接口 204 成功,
卡片底部有明确的「删除」按钮)。若此前遇到删除异常,多为图片 403 时的连带观感,修复 storage 链接后即恢复。

⬆️ 升级

在线更新:后台 → 在线更新 → 一键更新。更新后务必执行一次 php artisan storage:link