Laragon环境下Laravel存储软链接异常问题求助
解决Laragon环境下Laravel存储链接错误的问题
我之前在Laragon里部署Laravel项目时也碰到过几乎一模一样的问题,大概率是符号链接生成路径不对,或者Laragon的站点根目录配置导致的路径解析混乱。下面是一步步的解决方法:
1. 先清理错误的文件和目录
首先把那些干扰项清掉:
- 删除
public目录下错误生成的public子目录,避免后续路径混淆 - 检查
public目录下的storage链接,如果它是无效的(比如实际指向的路径不对),也删掉它
2. 确认Laragon的站点根目录设置
这一步很关键,Laragon的站点根配置错了会导致整个路径解析乱掉:
- 打开Laragon,找到你的项目,右键点击「Site Root」选项
- 确保它指向的是你Laravel项目的
public目录,而不是项目根目录或者其他路径。比如你的项目在C:\laragon\www\my-laravel-app,那Site Root应该设为C:\laragon\www\my-laravel-app\public
3. 手动创建正确的符号链接
有时候php artisan storage:link在Windows环境下可能因为相对路径问题生成错误的链接,咱们手动来创建更靠谱:
- 在Laragon里打开项目的终端(右键项目选「Open Terminal」)
- 先切换到项目的
public目录:cd public - 用Windows命令提示符创建符号链接:
如果用PowerShell的话,执行这个命令:mklink /D storage ..\storage\app\publicNew-Item -ItemType SymbolicLink -Path .\storage -Target ..\storage\app\public
4. 验证链接有效性
创建完链接后,别着急测试上传:
- 打开
public/storage目录,放一个测试文件进去,然后去storage/app/public目录看看是不是同步出现了这个文件 - 如果同步成功,说明链接是正确的
5. 检查Laravel的文件系统配置
最后确认Laravel的配置没出错:
- 打开
config/filesystems.php,找到public磁盘的配置块,确保它是这样的:'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], - 打开
.env文件,确认APP_URL和Laragon里你的站点域名一致,比如APP_URL=http://my-laravel-app.test
6. 清理缓存确保配置生效
最后执行这两个命令清一下缓存,避免旧配置干扰:
php artisan config:clear php artisan cache:clear
做完这些步骤后,再测试文件上传,应该就能正常存入storage/app/public,并且通过public/storage访问到了,不会再出现404或者存到public/public的问题了。
内容的提问来源于stack exchange,提问作者Mikail G.
相关产品推荐
相关产品推荐

