为什么我们要创建软连接?
因为项目根目录下的 public 是一个特殊的目录,这个目录下存放可公共访问的资源。
什么是可公共访问呢?就是可以通过`http://域名/文件路径`的形式访问到。
像我们通过laravel上传文件,如果我们把上传的资源文件存储在本地的话,Laravel 默认会放在 storage/app 里面,但是这个目录是不可见的,如果想要能公共访问就必须暴露在项目根目录下的 public 中,这就是创建软链接的原因 。
我们执行php artisan storage:link这个命令后呢,项目中public目录下就会多出来一个storage目录,这个目录就是storage/app/public目录的一个软连接。
简单举例:如果我们的域名是http://myweb.com
项目的目录结构如下:
storage
----app
--------public
------------avatar.png
public
----storage
我们通过访问http://myweb.com/storage/avatar.png就可以访问到storage/app/public/avatar.png这个文件了。
我自己在执行这个命令的时候报了个错symlink() has been disabled for security reasons.
这是因为symlink()这个函数被禁用了,
打开php.ini文件,搜索disable_functions
删掉symlink后重启php-fpm服务,然后再执行命令php artisan storage:link
我出现了软链不正确导致You don't have permission to access this resource.的403报错
————————————————
版权声明:本文为CSDN博主「剑走偏锋er」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43662485/article/details/102858294