虚拟机中使用了共享目录 执行 PHP artisan storage:link 报错?求解决办法
项目正常的跑着呢,图片文件也已经存入到了 storage/app/public/xxxxx/xx下,怀疑会不会是因为共项目录的问题?求解答。谢谢。
不知道是不是这个文件系统类型的原因。下图:
提示信息是没有权限,可以在命令前加 sudo 试试。
@daxiaobuzhaodiao 直接用 ln 命令试下呢
因为Windows不支持软连接,你可能需要用管理员身份运行虚拟机试一下。
@tsin 刚才重启了试了,依然报错权限郁闷了 。谢谢哥们
权限问题 ,ll看下
这个目前没有什么好的办法解决,请使用docker
@L学习不停 这个根本问题在于Windows,你的docker,虚拟机如果运行在Windows的话,还是会有问题。之前使用Homestead遇到这种情况的解决方法是,管理员身份打开CMD,再SSH连过去操作。还有npm install时,也有这种问题,也可以加 --no-bin-link 选项(我试过这种方法不起作用)
如果只是自己的电脑,在windows打开你那个共享目录的属性->安全->编辑,把当前用户的完全控制勾上试试。
找到你连接的的工具 比如 git的命令行 用管理员身份打开,然后连接上去。 sudo 然后软连接
在 windows 下 用管理员运行 cmd 切到项目目录后执行 php artisan storage:link 就可以了, 注意存储文件时一定要放到storage public下
还有个折中的方法,直接在web server中如nginx,写个配置定向public目录到静态资源存储位置去
如果是共项目录了的话,用下面的解决方案应该就能解决问题了。
在Windows中打开 cmd 执行下面的语句,把
YOURVMNAME
替换成虚拟机名称,把YOURSHAREFOLDERNAME
替换成共享文件夹名称。如果是PC的话, 启动虚拟机的时候需要用管理员权限