laravel - Laravel/Homestead/Windows 上的符号链接问题
问题描述
我在显示存储文件夹中存储的图像时遇到问题。目前,所有文件上传都配置为最终位于以下文件夹中:
存储\应用\公共
我正在尝试按如下方式访问它们:
http://homestead.vaniloapp-demo/storage/6/testimage.jpg
但是,这会导致 404。
如果我运行:php artisan storage:link
我收到以下错误消息:
“‘public/storage’目录已经存在。”
我已经从其他各种线程中捆绑了一堆不同的提示和技巧,包括使用取消链接公用文件夹unlink storage
,然后尝试使用手动再次链接它,ln -s ../storage/app/public storage
但这会导致以下错误:
“未能创建符号链接‘存储’:协议错误”
已尝试使用 Sudo,已绑定以管理员身份启动 CMD。
我正在为 Windows 运行 Homestead 和 Vagrant。
提前致谢!
米卡
解决方案
这是我想出的最佳步骤
- 取消当前 Vagrant 实例上的存储链接
- 停止流浪
vagrant halt
- 以管理员身份运行 CMD/终端(右键单击 > 以管理员身份运行)
- 转到您的 Homestead 文件夹并开始 vagrant
vagrant up --provision
- SSH 进入 vagrant
vagrant ssh
,同时仍在同一个 CMD/终端中 - CD 进入你的 Laravel 目录并运行
php artisan storage:link
我见过有人在 CMD 管理模式下没有启动 vagrant box 时遇到问题。
希望这可以帮助。
推荐阅读
- javascript - 为什么 puppeteer 评估函数返回空对象
- shell - 如何比较shell脚本中的浮点值?
- unity3d - 在 Unity 中为播放器设置动画时动画控制器中的多个项目
- python - 带有一些不熟悉的错误的循环导入错误
- r - 用另一个向量的条件替换一个向量的多个值
- python - 创建说命令 discord.py
- javascript - 当您的 HTML 中使用 Javascript 进行分页时,是否可以创建导出为 CSV 按钮?
- reactjs - 调用可为空的函数时,打字稿不会引发错误
- java - 如何使用 Jackson 序列化具有重复键的数据结构?
- javascript - EJS ERROR: SyntaxError: missing ) 在编译 ejs 时参数列表后