Laravel 7公共存储目录视频无法播放问题求助
Laravel 7 视频文件404问题排查方案
1. 重建存储软链接
虽然php artisan storage:link提示链接已存在,但可能链接已损坏或指向错误路径,先删除再重建:
- Linux/macOS:
rm -rf public/storage php artisan storage:link - Windows(命令提示符):
rmdir public\storage php artisan storage:link - Windows(PowerShell):
Remove-Item public\storage -Recurse -Force php artisan storage:link
2. 检查文件与目录权限
Linux/macOS环境下,Web服务器可能没有读取存储文件的权限,执行以下命令修复:
chmod -R 755 storage/ chown -R www-data:www-data storage/ # 若使用Nginx/Apache,根据服务器运行用户调整
3. 验证路径与文件名一致性
- 确认文件名大小写:Linux系统区分大小写,检查HTML中的
vid3.mp4和实际文件的文件名完全一致(比如不要出现Vid3.mp4的情况)。 - 核对目录结构:确保
storage/app/public/homepage/下确实存在vid3.mp4,无多余子目录或拼写错误。
4. 检查文件系统配置
打开config/filesystems.php,确认public磁盘配置正确:
'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ],
同时确保.env文件中APP_URL设置为:
APP_URL=http://localhost:8000
5. 清除Laravel缓存
缓存可能导致路径解析异常,执行以下命令清除缓存:
php artisan config:clear php artisan cache:clear
6. 直接验证文件访问
在浏览器中直接访问http://localhost:8000/storage/homepage/vid3.mp4,如果仍返回404,说明软链接或文件路径存在问题,回到步骤1重新检查。
内容的提问来源于stack exchange,提问作者Čamo
相关产品推荐
相关产品推荐

