I'm getting some strange permissions problems. I'm using Laravel on a vagrant box. I regularly have to reset my app/storage
permissions.
Here's my process:
in terminal, run sudo chmod -R 777 app/storage
. I do this both from the vagrant ssh and directly on my machine.
everything loads fine.
I run a login script that looks like this:
public function store()
{
$input = Input::all();
$attempt = Auth::attempt([
'email' => $input['email']
, 'password' => $input['password']
]);
if($attempt){
return Redirect::intended('/');
}else{
dd('errors');
}
}
I fill in my login with incorrect details & I get the dd()
output as expected.
I return to my login form.
I enter valid user details.
I get the following permissions error:
file_put_contents(/var/www/laravel/app/storage/sessions/62da397f3ec526dea6cabf36f06657234dfb9de7): failed to open stream: Permission denied
In terminal I run sudo chmod -R app/storage
again.
I can reload the page and the permissions denied error is gone.
I've done this consistently every. single. time. I can't work out what's messing with my permissions or how to fix it.
I've just figured it out. it's to do with the vagrantfile. I added the owner and group info to the synced files and it's working now.
config.vm.synced_folder ".", "/var/www", :owner => 'www-data', :group => 'www-data'