Uncaught ReflectionException: Class log does not exist Laravel 5.2

Published on Author Code Father

The reason why I say my problem is because the Exception is very mis-leading.

Uncaught ReflectionException: Class log does not exist

This exception simply means Laravel tried to log an error but couldn’t instantiate Laravel’s Logclass. This is not due to the Log class going walk-abouts or hiding. This is because Laravel is still going through its boot process & has yet to load the Log class.

So, this exception is thrown because an error occurred during the boot cycle of Laravel – when this error occurred it tried to throw an exception – but it can’t throw an exception because the Log class is yet the be loaded. Hence the reason we get a ReflectionException

This has occurred in all versions of Laravel the only reason we have seen the exception thrown in laravel 5.1 <= is because previously Laravel silently discarded the problem & carried on through its boot process – basically, your app would still break however you would not receive the Log class exception.

In my particular case I didn’t have the php-mysql extension installed causing Laravel to break during its boot process.

Ultimately, it is incredibly difficult to debug what you may have done wrong due to the error been very mis-leading.

——————————————–/OR/—————————————————-

In your .env file make sure you have no spaces for values

for example this is allowed

DB_USERNAME=homestead

this is not not allowed

DB_USERNAME=home stead

you can wrap the value in quotes if you have spaces.

DB_USERNAME="home stead"

really wish they used json for the .env file, maybe we should request that feature

Comments

comments