Published 3 months ago by Leordex
I updated the system step-by-step from 5.2 to 5.5. First, from 5.2 to 5.3, then from 5.3 to 5.4, and finally from 5.4 to 5.5. Unit and integration tests were successful. But when I tried to access the site through the browser, any page gave me error 500. In the log of Laravel there is nothing about it, but the log of Nginx gave me this:
PHP Fatal error: Uncaught ReflectionException: Class config does not exist in /var/www/agc_club/api/vendor/laravel/framework/src/Illuminate/Container/Container.php:752 Stack trace: #0 /var/www/agc_club/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(752): ReflectionClass->__construct('config') /var/www/agc_club/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('config') /var/www/agc_club/api/vendor/laravel/framework/src/Illuminate/Container/Container.php(586): Illuminate\Container\Container->resolve('config', Array) /var/www/agc_club/api/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(721): Illuminate\Container\Container->make('config', Array) /var/www/agc_club/api/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(110): Illuminate\Foundation\Application->make('config', Array) /var/www/agc_club/api/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(272):
Looks like Laravel can't resolve its config. When I change the git branch back to 5.2 and reinstall the vendors, everything works fine, so it's not enviroment problem.
If someone tells me what I did wrong, I'll be grateful.
Here are some things to start off with to check:
Run composer dump-autoload
Run the artisan clear cache commands
Check your .env file for any entries containing spaces and make sure they are encapsulated within double quotations
Check your bootstrap/app.php for any custom code that could be causing the issue.
If none of the above resolve the problem, my next step would be to edit config/app.php, and comment out all package and app service providers, leaving only the native Laravel providers. If that solves the issue, then one of your service providers is the culprit. You can determine which one by uncommenting each one until the error returns.
Yes it could be your environment
here are the laravel 5.2 requirements:
PHP >= 5.5.9 OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension Tokenizer PHP Extension
and the laravel 5.5
PHP >= 7.0.0 OpenSSL PHP Extension PDO PHP Extension Mbstring PHP Extension Tokenizer PHP Extension XML PHP Extension
Start by ensuring that your environment has a php version of 7.0.0+
I have a suggestion for you. If your application doesn't carry many gates, and custom functions, you better download a latest version of laravel and move your model, views, controller, and some other files that you have created.
It's so much easier than fixing bug there.
No, it's not. Cause I deleted PHP 5.6 and installed PHP 7.2 with all required extensions right before Laravel migration. Besides, I wrote before that the tests are working.
Yes, I'm doing it now. Application customizations were fixed in migration process, so I'm mostly moving files now.