As quick start, you can set the error_reporting and display_errors directives in your computer's system-wide php. ini file (details here). However, Laravel should have its own error reporting features—make sure you check them out in their documentation. you may need to increase your memory limit .
The safer option would be to change the group of the storage directories to your web servers group (usually apache
or www-data
, but this can vary between the different operating systems) and keep the permissions as of the directory as 775
.
chgrp -R www-data app/storage
Or with chown
.
chown -R :www-data app/storage
Then make sure directory permissions are 775
.
chmod -R 775 app/storage
From the Laravel web site:
Laravel may require one set of permissions to be configured: folders within app/storage require write access by the web server.
Laravel 5.2
chmod -R 777 storage
Older Laravel chmod 777 app/storage/*
Note if you've got a reasonably locked down dedicated server with no user accounts other than your own, 777 shouldn't pose any more security risk than anything else. There'd have to be some other vulnerability for a malicious user to take advantage of that, and at that point, the 777 permission is probably moot anyway. If however you are on a shared server with other users you do not trust, then you'll need to look into more complicated permissions or check if your hosting provider has already provided isolation.
They should really put this in the quick start docs and provide examples for various setups. You may also have to run it again after the first load as more directories are created automatically. Look in your logs for write errors.
Also your DocumentRoot should be /path/to/laravel-project/public
I deleted old sessions inside app/storage/sessions
folder and give a 775
permission to app/storage
after that it's working like a fire!
chmod -R 775 app/storage
Good luck!
The bandwagon has passed on this a long long time ago, but still I have another piece of advice regarding "Error in exception handler."
I had this happening to me when I ran "php artisan", which is a good way to assess if your environment is working in general.
I ran it and it gave me that error, and I couldn't pinpoint the problem till I edited the artisan file in the root directory of my project and add a try catch statement:
try {
$artisan = Illuminate\Console\Application::start($app);
}
catch (Exception $e)
{
dd($e->getMessage());
}
At which point I finally saw an enlightening message:
string(41) "Connection refused [tcp://127.0.0.1:6379]"
which in my case was a bad redis configuration, but in your case could be anything.
I hope this helps someone, or at least next time I get here I will find my own answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With