'无法打开流:权限被拒绝'错误 - Laravel

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (46)

我得到了

异常处理程序中的错误。

我搜索了一下,并更改了存储目录的权限。chmod -R 777 app/storage但没有结果。

然后,我使用命令更改了存储目录的权限。chmod -R 644 app/storage并且“异常处理程序中的错误”错误消失了,并加载了一个页面

提问于
用户回答回答于

这是一个权限问题,这是由于不同用户试图在storage/logs具有不同权限的文件夹。

所发生的情况是,laravel配置可能是每天记录错误的设置,因此webserver(apache/nginx)可能会根据环境在默认用户下创建这个文件,它可以如下所示_www在OSX或www-data上Nix系统,那么可能运行了一些手工命令并得到了一些错误时,问题就出现了,所以这个程序将编写这个文件,但是对于另一个用户,因为终端上的PHP是由另一个用户执行的

php -i | grep USER

如登录用户创建了您的web服务器的日志文件,将无法在其中写入错误,反之亦然,因为laravel使用655默认情况下,只允许所有者在其中写入权限。

若要修复此临时设置,必须手动为组授予权限。664这样您的登录用户和webserver用户都可以写入该日志文件。

若要永久避免此问题,可能希望在创建新文件时设置适当的权限。storage/logs通过从目录继承权限--这个答案

用户回答回答于

php artisan cache:clear 
chmod -R 777 storage/
composer dump-autoload
php artisan cache:clear 
chmod -R 777 app/storage 
composer dump-autoload

扫码关注云+社区