流或文件“/storage/logs/laravel.log”无法打开:无法打开流:权限被拒绝

Tha*_*cky 4 php laravel

当我导航到 CentOS 服务器上的 Laravel 应用程序时,它给出了HTTP ERROR 500

在此处输入图片说明

所以,当我检查我的服务器错误日志时,它说这个错误

PHP Fatal error:  Uncaught UnexpectedValueException: The stream or file "/var/www/html/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/html/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107\nStack trace:\n#0 
Run Code Online (Sandbox Code Playgroud)

我已经为存储和引导目录设置了 777 权限。

这个 Laravel 应用程序在另一台服务器上运行良好。那么,这里有什么大不了的?

Tha*_*cky 6

这个错误可以通过禁用 SE-Linux 来修复。

通过键入检查它是否已启用...

$ sestatus
Run Code Online (Sandbox Code Playgroud)

因此,通过键入禁用它...

# setenforce 0
Run Code Online (Sandbox Code Playgroud)

据说需要重新启动系统才能使更改生效。

但是,对我来说,重新启动Apache就足够了并解决了问题:-)

希望这可以帮助!

  • 关闭 selinux 是非常糟糕的!!而是使用项目目录中的`chcon -R -t httpd_sys_rw_content_t storage`,然后重新启动http, (4认同)