Laravel 8生产服务器Storage目录图片无法访问问题求助
Laravel 8生产环境Storage图片访问问题排查方案
1. 确认符号链接有效性
- 登录生产服务器,执行
ls -l public/查看public/storage是否为指向../storage/app/public的有效软链接 - 若链接不存在或指向错误,手动创建(替换为实际项目路径):
ln -s /your/project/path/storage/app/public /your/project/path/public/storage - 注意:FTP部署时多数客户端不支持软链接传输,必须在服务器端手动创建
2. 修复文件权限
- 确保存储目录及文件权限正确:
chmod -R 755 storage/app/public chmod -R 644 storage/app/public/* - 确认服务器Web用户(如
www-data、nginx)对该目录拥有读取权限
3. 核对文件系统配置
- 打开
config/filesystems.php,确认public磁盘配置:'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], - 检查
.env文件中APP_URL是否为生产环境正确域名,例如APP_URL=https://your-production-domain.com
4. 排查服务器Web服务配置
- Nginx:确保配置文件包含
follow_symlinks on;指令,允许解析软链接 - Apache:确认
mod_rewrite模块已启用,且站点配置中设置AllowOverride All,保证.htaccess规则生效
5. 清除Laravel缓存
- 执行以下命令清除配置、路由及缓存:
php artisan config:clear php artisan cache:clear php artisan route:clear
内容的提问来源于stack exchange,提问作者faraz
相关产品推荐
相关产品推荐

