事实上,我是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存储根本没有帮助。
要解决这个问题,您需要将目录的所有权更改为web服务器使用的unix用户。
退出虚拟机
使用控制台,转到同步文件夹(vagrant)
sudo chown -R $USER:www-data storage
chmod -R 775存储
尽管我使用VM用户在VM中创建了项目,但文件夹属于真实计算机中的用户;所以,当你试着
现在起作用了。
感谢所有帮我找到答案的人
编辑:
实际上,它仍然不能工作,它仍然给了我一个“拒绝许可”的问题。
这是我所做的,我修改了我的Vagrantfile,像这样:
config.vm.synced_folder "./app","/var/www/", create:true,
:owner => "vagrant",
:group => "www-data",
:mount_options => ["dmode=775","fmode=664"]
永远不要在你的服务器上使用777,但在你自己的机器上,有时我们需要做更多的775,因为
chmod -R 775 storage
意味着
7 - Owner can write
7 - Group can write
5 - Others cannot write!
如果你的服务器不是作为Vagrant运行,它将无法写入,所以你有两个选择:
chmod -R 777 storage
或者将组改为您的webserver用户,假设它是www-data:
chown -R vagrant:www-data storage