如何修复错误:laravel.log无法打开?

2022-08-30 06:04:53

事实上,我是laravel的新手,我正在努力创建我的第一个项目。由于某种原因,我不断收到此错误(我甚至还没有开始编码)

Error in exception handler: The stream or file "/var/www/laravel/app/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/laravel/bootstrap/compiled.php:8423

我已经读过这与权限有关,但根本没有帮助。chmod -R 775 storage

Permissions


答案 1

切勿将目录设置为 777。您应该更改目录所有权。因此,将您登录的当前用户设置为所有者,将Web服务器用户(www-data,apache等)设置为组。你可以试试这个:

sudo chown -R $USER:www-data storage
sudo chown -R $USER:www-data bootstrap/cache

然后要设置目录权限,请尝试以下操作:

chmod -R 775 storage
chmod -R 775 bootstrap/cache

更新:

Web 服务器用户和组取决于您的 Web 服务器和操作系统。要确定您的 Web 服务器用户和组是什么,请使用以下命令。对于nginx的使用:

ps aux|grep nginx|grep -v grep

对于 apache 使用:

ps aux | egrep '(apache|httpd)'


答案 2

切勿将777用于实时服务器上的目录,但在您自己的计算机上,有时我们需要执行775以上的操作,因为

chmod -R 775 storage

方法

7 - Owner can write
7 - Group can write
5 - Others cannot write!

如果您的Web服务器未以Vagrant身份运行,则它将无法写入它,因此您有2个选项:

chmod -R 777 storage

或将组更改为您的Web服务器用户,假设它是:www-data

chown -R vagrant:www-data storage

推荐