事实上,我是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存储根本没有帮助。
这可能有点晚了,但可能对某些人有帮助,更改目录权限对我有用。
假设你的Laravel项目在/var/www/html/目录下。转到这个目录。
cd /var/www/html/
然后修改存储/和引导/缓存/目录的权限。
sudo chmod -R 775 storage/
sudo chmod -R 775 bootstrap/cache/
如果权限775不生效,请尝试设置权限777。(警告!这是最宽松的许可,小心使用)。
sudo chmod -R 777 storage/
sudo chmod -R 777 bootstrap/cache/
cPanel:如果你在cPanel上,没有终端可用,你可以通过右键单击提到的目录和它的子目录来更改权限。
不要将目录设置为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|Grip nginx|grip -v grip
对于apache使用:
Ps aux | egrep '(apache|httpd)'