I installed Magento2 successfully through the commandline, but when i try to access the website, i get a Server Error 500.

The server runs on Ubuntu 14.04

I have no idea what is wrong, or what i am doing wrong. I used a script to install Magento2 so i expect it to be correct

PHP Errors:

[Wed Mar 02 17:03:18.718890 2016] [:error] [pid 2292] [client] PHP Fatal error: Uncaught exception 'ReflectionException' with message 'Class Magento\Framework\App\ResourceConnection\Proxy does not exist' in /var/www/html/vendor/magento/framework/Code/Reader/ClassReader.php:19\nStack trace:\n#0 /var/www/html/vendor/magento/framework/Code/Reader/ClassReader.php(19): ReflectionClass->__construct('Magento\\Framewo...')\n#1 /var/www/html/vendor/magento/framework/ObjectManager/Definition/Runtime.php(44): Magento\Framework\Code\Reader\ClassReader->getConstructor('Magento\\Framewo...')\n#2 /var/www/html/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(71): Magento\Framework\ObjectManager\Definition\Runtime->getParameters('Magento\\Framewo...')\n#3 /var/www/html/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...')\n#4 /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(236): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...')\n#5 /var/ww in /var/www/html/vendor/magento/framework/Code/Reader/ClassReader.php on line 19

and this multiple times

[Wed Mar 02 17:03:18.718739 2016] [:error] [pid 2292] [client] PHP Warning: include(): Failed opening '/var/www/html/var/generation/Magento/Framework/App/ResourceConnection/Proxy.php' for inclusion (include_path='/var/www/html/var/generation:/var/www/html/lib/internal:/var/www/html/var/generation:/var/www/html/lib/internal:/var/www/html/vendor/phpseclib/phpseclib/phpseclib:/var/www/html/vendor/magento/zendframework1/library:/var/www/html/vendor/phpunit/php-file-iterator:/var/www/html/vendor/phpunit/phpunit:/var/www/html/vendor/symfony/yaml:.:/usr/share/php:/usr/share/pear') in /var/www/html/vendor/magento/framework/Code/Generator/Io.php on line 158


[Wed Mar 02 17:03:18.718377 2016] [:error] [pid 2292] [client] PHP Warning: include(): Failed opening '/var/www/html/var/generation/Magento//Framework/App/ResourceConnection/Proxy.php' for inclusion (include_path='/var/www/html/var/generation:/var/www/html/lib/internal:/var/www/html/var/generation:/var/www/html/lib/internal:/var/www/html/vendor/phpseclib/phpseclib/phpseclib:/var/www/html/vendor/magento/zendframework1/library:/var/www/html/vendor/phpunit/php-file-iterator:/var/www/html/vendor/phpunit/phpunit:/var/www/html/vendor/symfony/yaml:.:/usr/share/php:/usr/share/pear') in /var/www/html/vendor/composer/ClassLoader.php on line 412

Also, this is the core_config_data from the magento database

enter image description here

Any idea what i could try?

chown -R www-data:www-data /var/www/magento2/ 
chmod 777 -R var
chmod 777 -R generated
chmod 777 -R app/etc
rm -rf var/cache/* var/page_cache/* var/generation/*


php bin/magento setup:di:compile;
| improve this answer | |
  • worked for me and i had missing other class that wasn't mentioned – Guillermo Nahuel Varelli Nov 11 '19 at 0:51
  • 8
    chmod 777 is a very bad idea and allows others to hack your server easily especially on shared hosting! fix the users instead – Black Jan 7 at 13:54

several classes in Magento2 are generated dynamically. Except you are in Developer mode, this does not happen automatically.

To activate the developer Mode, you have to uncomment the Line in the beginning of your .htaccess file.

For production and default mode you have to execute the command bin/magento setup:di:compile from your magento root to generate the classes

| improve this answer | |
  • After installing Magento2, and using the command setup:di:compile I still get the Server Error 500, and i noticed that i cannot show or set modes in magento using the deploy:mode:show and deploy:mode:set command. – Maarten Mar 3 '16 at 13:06
  • @Maarten, check your server logs – Black Feb 19 at 15:48
  • Sometimes for me it helps to delete the vendor/autoload.php file – JELLEJ May 18 at 8:50

Delete composer autoload (vendor/autoload.php) as suggested by @JELLEJ and type composer install in magento root folder to recreate it.

It worked for me on Magento 2.3.5-p1 (but should work in other versions).

| improve this answer | |
  • I tried all the other suggestions on this page and this was the only one that worked for me. Thanks! – Erik Hansen Aug 6 at 17:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.