Laravel 5 - env local debug true no errors shown

69.4k views Asked by At

I'm trying to enable the debug for my app but it looks like I don't have any feedback.

The environment is set to local (in the .env file) and if I run

php artisan env

I get this

Current application environment: local

The debug config for my local env is set to true

return [

    'debug' => true,

Also if I set in my main config file (app.php inside the config folder) the debug = true I still have ho feedback that there is an error in the code.

I only have an empty page if there is an error in the code (as for debug = false)

What am I missing?

13

There are 13 answers

2
Aleksei Akireikin On BEST ANSWER

I have worked around the issue by chmod -R 777 storage/ on my host machine (Mac OS X). On my guest machine (Ubuntu 14.04) chmod -R 777 storage/ did not change permissions actually.

2
phaberest On

php artisan optimize and if it still does not work delete the file storage/meta/compiled.php as mentioned in a forum topic on Laracasts

I had the same problem and the artisan command did the trick.

UPDATE

I found out that a nice way to workaround storage folder related issues is to set www-data as its owner. I'm using two commands:

sudo chown $(whoami):www-data . -R

and

sudo chown www-data: storage -R

From Laravel 5.1 it may be necessary to do this last command on bootstrap folder too.

0
Countach On

Also if you just installed lumen make sure you have renamed .env.example to .env in your main app directory as it won't work if your config is still named environment file is still named .env.example.

0
Blair On

I had a situation where I had the exact same symptom, some routes were not providing any feedback, just a white page, no error in the log no information at all.

Turns out, I was adding a new middleware, and I forgot to return $next($request) from my handle method. This was even more frustrating, because this middleware did not apply to every route, so I assumed that there was an intermittent error that was being thrown but not displayed on these routes.

0
camille On

If the above answers didn't work for you, you may want to check the config files that you might have changed and start debugging from there.

In my case, the above solutions didn't work for me because the root cause of my problem was changing the timezone in config/app.php file (from laravel default UTC I changed it to EST5EDT). For some reason the timezone setting change prevents laravel from logging the errors in storage folder and I am getting blank screen (no whoops! error message). I changed the timezone to America/New_York instead and the error logs are working again.

Hope this helps.

0
Bhavin Thummar On

I have faced same problem so i have checked handler.php file of exceptions folder where render function that have return value line is commented so page make blank.

public function render($request, Exception $exception)
{        
    //return parent::render($request, $exception);
}
0
Svet On

Even on Windows needs to do : chmod -R 777 storage/ You can run it with Git Bash;

0
Octavio Herrera On

For me what worked perfectly was disabling hhvm in the Homestead.yaml file, then I did vagrant reload --provision and that was it!

1
unfloat On

Go to config/app.php and if it is like this :

'debug' => env('APP_DEBUG', false),

Then it change to :

'debug' => env('APP_DEBUG', true),

this.

0
Jahangir Ripon On

Please check in .env file

APP_ENV=local

APP_DEBUG=true

and also in config/app.php, check for these values

'env' => env('APP_ENV', 'local'),

'debug' => true,
0
Fahad On

I actually solved the problem by un-commenting the line
Dotenv::load(__DIR__.'/../'); in bootstrap/app.php.

So that it actually loads it before compiling it and caching it ,
well running php artisan optimize does it for you , if you have Laravel (Not Lumen)

But if you look at their documentation it is commented out by default, i think they might have fixed it by now http://lumen.laravel.com/docs/installation.

0
Vyshnia On

As Blair said, it may turn out that you put some wrong code in the middleware or in 'Exceptions/Handler.php' e.g. :

if($e->getStatusCode()===404) { ... }

instead of

if($e instanceof NotFoundHttpException) { ... }

0
dbertels On

Just for the sake of completeness, I had this issue when the error occurred in methods that used Model::findOrFail($someId). Replacing it with Model::find($someId) displayed the error log.