美文网首页
解决win环境中Laravel项目storage链接在homes

解决win环境中Laravel项目storage链接在homes

作者: 许文同学 | 来源:发表于2019-05-20 14:09 被阅读0次

如官方文档所述,Laravel提供了Artisan 命令 storage:link 来创建符号链接:

  php artisan storage:link

我的homestead中无法成功执行此命令,或许是文件系统和共享方式的问题无法执行ln,并未追究。因为我在win环境中可以成功执行并使用。但当访问homestead环境时,发现win下的软连接并没有起作用。

我们查看一下homestead里此链接的情况,发现其链接指向是有问题的


image.png

我们来到storage:link的执行方法Illuminate\Filesystem\Filesystem.link()
因为实在win中执行的,打印其exec()执行的命令

image.png

可以看到使用的是mklink 指定绝对路径来生成的链接

image.png

猜测homestead中无法正确解析win的绝对路径链接
我们进入public目录手动创建一个相对链接

  mklink /D ".\storage" "..\storage\app\public"
image.png
然后我们到homestead环境中查看,链接指向已经正常了
image.png

mklink相关说明可参阅 https://www.jianshu.com/p/b1614a073087

相关文章

网友评论

      本文标题:解决win环境中Laravel项目storage链接在homes

      本文链接:https://www.haomeiwen.com/subject/tzckzqtx.html