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

Laravel Forge生产环境图片上传后无法显示的问题求助

Laravel Forge部署后图片上传无法显示的解决方法

问题分析

本地环境正常但生产环境图片出现404,核心原因是存储软链接未正确创建,且图片未存储到可公开访问的目录下。

解决步骤

1. 修复存储软链接

  • 先删除项目public目录下无效的storage文件夹/链接:
    cd /home/forge/your-domain.com/public
    rm -rf storage
    
  • 回到项目根目录重新创建软链接:
    cd /home/forge/your-domain.com
    php artisan storage:link
    
    若Artisan执行异常,可直接用Linux命令手动创建(替换为你的实际项目路径):
    ln -s /home/forge/your-domain.com/storage/app/public /home/forge/your-domain.com/public/storage
    

2. 调整图片存储路径(关键)

当前代码将图片存在storage/app/categories(无法通过public访问),需修改为存储到storage/app/public目录下:

  • 修改创建记录的代码:
    $categoryword = Category::create([
        // 其他字段保持不变
        'image' => Storage::put('public/categories', $request->file('image')),
    ]);
    
  • 调整Blade视图的图片链接:
    <img id="image" name="image" src="{{ Storage::url($categoryword->image) }}" alt="" height="400px" width="700px"/>
    
    Storage::url()会自动将public/前缀替换为storage/,生成正确的公开访问路径。

3. 修复目录权限

确保storage目录有正确的读写权限:

chmod -R 755 /home/forge/your-domain.com/storage
chown -R forge:forge /home/forge/your-domain.com/storage

4. 验证效果

上传新图片后,检查storage/app/public/categories下是否存在目标图片,直接访问https://your-domain.com/storage/categories/[图片文件名],能正常打开则说明配置正确。

内容的提问来源于stack exchange,提问作者Jefferson Farid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 06:05:14