I'm trying to create an app on Laravel 4 beta but I can't debug it because it doesn't show any error, display_errors
is on, error_reporting
is E_ALL
and debug => true
(config/app.php
). When I try to do an error on public/index.php
it shows a parse error, but when I do it on the router it just shows a blank page (White screen of death). How can I fix this?
Thank you
This question is related to
debugging
laravel
error-reporting
laravel-4
Inside config folder open app.php
Change
'debug' => false,
to
'debug' => true,
I had a problem with the white screen after installing a new laravel instance. I couldn't find anything in the logs because (eventually I found out) that the reason for the white screen was that app/storage wasn't writable.
In order to get an error message on the screen I added the following to the public/index.php
try {
$app->run();
} catch(\Exception $e) {
echo "<pre>";
echo $e;
echo "</pre>";
}
After that it was easy to solve the problem.
Following the good advice by @The Shift Exchange I looked at the error_log and indeed managed to solve to problem. it was simply a permissions issue:
Tue Feb 26 11:22:20 2013] [error] [client 127.0.0.1] PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/Users/matanya/Sites/indgo/app/start/../storage/logs/log-apache2handler-2013-02-26.txt" could not be opened: failed to open stream: Permission denied' in /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:71\nStack trace:\n#0 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(77): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\RotatingFileHandler->write(Array)\n#2 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Logger.php(217): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#3 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Logger.php(281): Monolog\\Logger->addRecord(400, Object(ErrorException), Array)\n#4 [internal function]: Monolog\\Logger->addError(Object(ErrorException))\n#5 /Users/matanya/Sites/in in /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 71
Once I used chmod
to apply less stringent permissions, all went back to normal.
However, I'm not sure that it answers the OP's question, as he was getting a blank screen rather than a server error.
In the Laravel root folder chmod the storage directory to 777
Go to app/config/app.php
and set 'debug' => true,
Further to @cw24's answer • as of Laravel 5.4
you would instead have the following amendment in public/index.php
try {
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
} catch(\Exception $e) {
echo "<pre>";
echo $e;
echo "</pre>";
}
And in my case, I had forgotten to fire up MySQL.
Which, by the way, is usually mysql.server start
in Terminal
Just go to your app/storage/logs
there logs of error
available. Go to filename of today's date time and you will find latest error
in your application.
OR
Open app/config/app.php
and change setting
'debug' => false,
To
'debug' => true,
OR
Go to .env
file to your application and change the configuratuion
APP_LOG_LEVEL=debug
https://github.com/loic-sharma/profiler this is good example for alternative to laravel3 debug bar.
Maybe not on Laravel 4 this time, but on L5.2* I had similar issue:
I simply changed the ownership of the storage/logs
directory to www-data
with:
# chown -R www-data:www-data logs
PS: This is on Ubuntu 15 and with apache.
My logs
directory now looks like:
drwxrwxr-x 2 www-data www-data 4096 jaan 23 09:39 logs/
Source: Stackoverflow.com