599CN.COM - 【源码之家】老牌网站源码下载站,提供完整商业网站源码下载!

Laravel报错:failed to open stream: Permission denied

源码网2023-08-02 23:43:041954Laravel身份成员httpd

The stream or file "/var/www/blog/storage/logs/laravel.log" could not be opened in append mode: failed to open stream: Permission denied

Laravel报错:failed to open stream: Permission denied

image

解决:让httpd以root身份运行或laravel项目创建者身份运行

  • cd /etc/httpd/conf

  • cp -p httpd.conf httpd.conf.copy

  • vim httpd.conf

找到这一项:

User apacheGroup apache

修改成:

User rootGroup root
  • systemctl restart httpd

原理:

centos下的目录对访问者有身份要求,一般是

  • 所有者拥有 读,写,执行 权限

  • 组成员拥有 读,执行权限

  • 其他成员只能读

而用yum install -y httpd安装完apache后,默认是使用apache这个身份来运行httpd服务的,所以没法在storage目录下创建log文件
在laravel项目文件夹下ll打印一下可以看到:

image

其他人对storage文件夹只有读和执行的权限: drwxrwxr-x d表示directory,后面的字母分为3组,每3个一组,第一组表示创建者的权限,读、写、执行;第二组表示组成员的权限,读、写、执行;第三组表示其他人的权限,读、执行。


转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://599cn.com/post/21490.html