Laravel/Homestead/Windows 上的符号 link 问题
Symbolic link issues on Laravel/Homestead/Windows
我在显示存储文件夹中存储的图像时遇到问题。目前所有文件上传都配置为在以下文件夹中结束:
storage\app\public
我正在尝试按如下方式访问它们:
http://homestead.vaniloapp-demo/storage/6/testimage.jpg
但是,这会导致 404。
如果我 运行: php artisan storage:link
我收到以下错误消息:
"The "public/storage”目录已经存在。”
我从其他各种线程中收集了一堆不同的提示和技巧,包括使用 unlink storage
取消 linking public 文件夹,然后尝试 link 它再次手动使用 ln -s ../storage/app/public storage
但这会导致以下错误:
"failed to create symbolic link 'storage': Protocol error"
尝试过使用 Sudo,以管理员身份启动 CMD。
我是 运行ning Homestead 和 Vagrant for Windows。
提前致谢!
米卡
这是我想出的最佳步骤
- 取消链接当前 Vagrant 实例上的存储
- 阻止无业游民
vagrant halt
- 运行 CMD/Terminal 作为管理员(右键单击 > 运行 作为管理员)
- 转到您的 Homestead 文件夹并启动 vagrant
vagrant up --provision
- SSH 进入 vagrant
vagrant ssh
,同时仍在同一个 CMD/Terminal
- CD 到您的 Laravel 目录和 运行
php artisan storage:link
我看到有人在 vagrant box 未在 CMD 管理模式下启动时遇到问题。
希望对您有所帮助。
我也花了一些时间解决这个问题。
我也在 Windows 机器上,我的开发环境设置为 Laravel 和 Homestead。
要创建存储 link,在启动 Vagrant 机器后 vagrant up,我已经使用 vagrant ssh 进入我的 Vagrant 机器 命令,然后 cd 进入项目目录 cd /home/vagrant/project。
当在Project的目录运行 php artisan storage:link生成symblink.
现在,如果您执行 ls -la public,您会看到文件的路径是绝对路径 - 这在 [=39 中不起作用=]!路径不一样。
为了解决这个问题,我手动创建了 symblink 以使其成为相对的而不是绝对的。
转到 public 文件夹 cd /home/vagrant/project/public。
手动创建 symblink ln -s ../storage/app/public/ storage.
我在显示存储文件夹中存储的图像时遇到问题。目前所有文件上传都配置为在以下文件夹中结束:
storage\app\public
我正在尝试按如下方式访问它们:
http://homestead.vaniloapp-demo/storage/6/testimage.jpg
但是,这会导致 404。
如果我 运行: php artisan storage:link
我收到以下错误消息:
"The "public/storage”目录已经存在。”
我从其他各种线程中收集了一堆不同的提示和技巧,包括使用 unlink storage
取消 linking public 文件夹,然后尝试 link 它再次手动使用 ln -s ../storage/app/public storage
但这会导致以下错误:
"failed to create symbolic link 'storage': Protocol error"
尝试过使用 Sudo,以管理员身份启动 CMD。
我是 运行ning Homestead 和 Vagrant for Windows。
提前致谢!
米卡
这是我想出的最佳步骤
- 取消链接当前 Vagrant 实例上的存储
- 阻止无业游民
vagrant halt
- 运行 CMD/Terminal 作为管理员(右键单击 > 运行 作为管理员)
- 转到您的 Homestead 文件夹并启动 vagrant
vagrant up --provision
- SSH 进入 vagrant
vagrant ssh
,同时仍在同一个 CMD/Terminal - CD 到您的 Laravel 目录和 运行
php artisan storage:link
我看到有人在 vagrant box 未在 CMD 管理模式下启动时遇到问题。
希望对您有所帮助。
我也花了一些时间解决这个问题。
我也在 Windows 机器上,我的开发环境设置为 Laravel 和 Homestead。
要创建存储 link,在启动 Vagrant 机器后 vagrant up,我已经使用 vagrant ssh 进入我的 Vagrant 机器 命令,然后 cd 进入项目目录 cd /home/vagrant/project。 当在Project的目录运行 php artisan storage:link生成symblink.
现在,如果您执行 ls -la public,您会看到文件的路径是绝对路径 - 这在 [=39 中不起作用=]!路径不一样。
为了解决这个问题,我手动创建了 symblink 以使其成为相对的而不是绝对的。 转到 public 文件夹 cd /home/vagrant/project/public。 手动创建 symblink ln -s ../storage/app/public/ storage.