大家好!在服务器端执行 PHP artisan storage:link 还是 404 错误!
配置环境:ubantu 18.04 + nginx + php7.2 + mysql + laravel5.5
将图片上传至:项目路径/storage/app/public
使用php artisan storage:link
在浏览器中访问:主机/storage/图片名,提示404。
确认public下有storage的链接;在storage下没有多余的二级目录;文件名称是否准确
@松园 您说的都确认过了,有链接,无其他目录,文件名肯定没问题。还是不行。
有没有可能是nginx 的配置问题?
权限问题
nginx问题+1
建立成功是这样。向public/storage中复制021.jpg文件在storage/app/public中也会同样出现一个021.jpj文件。
注意要限问题
可能是info.php 没有配置正确,之前我也遇到过了,有一个拓展没有使能。
首先感谢楼上的朋友回答我的问题,但是我们还是没搞定,我们自己估计是 nginx 问题,但是还是不知道该怎么解决,还请大神给出 nginx 的配置,跪求!
php artisan storage:link
生成的目录已经软连接了如果图片的绝对路径是
/storage/app/public/021.jpg
,那么你应该直接访问http://你的域名/021.jpg
删掉public/storage,再重新执行一次软连接命令,如果你之前是提前创建了public/storage目录的话
敢问各位大佬如何解决的
php artisan storage:link 也弄了,之个啥情况,搜了半天没找到怎么解决的 php artisan serve 下可以访问
请问题主解决问题了吗?没有的话可以看一下
./storage
目录权限是否满足你的需求。正常情况下,要读写文件,所以要rw
权限,要读取目录中的文件,所以要x
权限。所以建立权限给足:sudo chomd -R 777 ./storage
请问题主解决了吗? 跪求
这个问题我在部署 SPA 和 Laravel API 时也遇到了,给你个参考方案试试看行不行: 因为我的 SPA 路由都是 / 下面的,所以所以 Nginx 配置如下:
在
/storage
块中使用 alias 来指向 public/storage。 如果还是不行的话,建议你贴出你的配置。ln -s 不就行了嘛,
查看storage目录的所有者及权限,一般为权限问题,更改权限后如不生效删除目录重新生成在查看权限,试着将错误复现,便于查找问题