When browsing your laravel project in the browser using localhost, you may get an error in the exception handler. URL could be like
The stream or file
/app/storage/logs/laravel.log could not be opened. Permission denied in
/bootstrap/compiled.php. Changing the permissions of
storage/ will give you the following error.
file_put_contents(meta/services.json): failed to open stream. Permission denied.
Basically, it is a permission issue. We have to run
chmod recursively on the storage directory. We have to change permissions as well as regenerate the composer autoload files.
Run the following commands for Laravel version 5.4 and above
php artisan cache:clear chmod -R 777 storage/ composer dump-autoload
For Laravel version below 5.4, Run the following commands.
php artisan cache:clear chmod -R 777 app/storage/ composer dump-autoload
It will resolve your issue.