Класс 'Config' не найден при перемещении сайта laravel на сервер Centos - PullRequest
2 голосов
/ 10 мая 2019

В настоящее время у меня на локальном компьютере работает экземпляр laravel 5.8, я переместил файлы на промежуточный сервер, работающий в Centos.Я недавно обновил там версию PHP до 7.3, это была версия 5.4. Сейчас я пытаюсь запустить сервер и отобразить веб-страницу, но постоянно получаю странную ошибку.

Я уже перезапустил весь сервер.

Я пошел в /var/www/myproject/public_html/staging/app/Exceptions/Handler.php:50 (хотя это файлы поставщика)

<code>    public function report(\Exception $e)
{
    if ($e instanceof \Exception) {

        $debugSetting = Config::get('app.debug');

        Config::set('app.debug', true);  //<--- This is line 50
        //echo "<pre>" . $e . "
"; $ data = ['content' => $ e-> getMessage (), 'line' => $ e-> getLine (), 'trace' => $ e-> getTraceAsString ()]; Config :: set ('app.debug', $ debugSetting);} вернуть parent :: report ($ e);}

Если вы знакомы с Laravel, вы должны знать, чтоConfig является частью основной функциональности проекта, и из-за того, что он не может получить к нему доступ, это означает, что что-то не так, из-за чего он не может быть правильно настроен или создан неправильно.

Я просто пыталсяЗапустите обновление композитора или установите композитор, но эта ошибка также мешает мне.

Я также проверил httpd / ssl_error_log, и он говорит, что почти такая же ошибка, как показано ниже

PHP Fatal error:  Uncaught Error: Class 'Config' not found in /var/www/myproject/public_html/staging/app/Exceptions/Handler.php:50\nStack trace:\n#0 /var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(314): App\\Exceptions\\Handler->report(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))\n#1 /var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\\Foundation\\Http\\Kernel->reportException(Object(Symfony\\Component\\Debug\\Exception\\FatalThrowableError))\n#2 /var/www/myproject/public_html/staging/public/index.php(57): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))\n#3 {main}\n  thrown in /var/www/myproject/public_html/staging/app/Exceptions/Handler.php on line 50

Моя ошибка

PHP Fatal error:  Uncaught Error: Class 'Config' not found in 
/var/www/myflexca/public_html/staging/app/Exceptions/Handler.php:50
Stack trace:
#0
/var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminat/ 
Foundation/Console/Kernel.php(367): App\Exceptions\Handle->report(Object(Symfony\Component\Debug\Exception\FatalThrowableError))
#1 
/var/www/myproject/public_html/staging/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(132): 
Illuminate\Foundation\Console\Kernel->reportException(Object(Symfony\Component\Debug\Exception\FatalThrowableError))
#2 /var/www/myproject/public_html/staging/artisan(35): 
Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), 
Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 {main}
  thrown in 
/var/www/myproject/public_html/staging/app/Exceptions/Handler.php on line 50

РЕШЕНИЕ

Я исправил это, изменив

use Config;

вверху на

use Illuminate\Support\Facades\Config;

Это былоЗа ним следуют только другие ошибки, но эта проблема прошла.

РЕАЛЬНАЯ ПРОБЛЕМА

Мои зависимости Laravel не были обновлены.Реальное решение - переустановить Laravel для получения зависимостей.

composer global require laravel/installer

Ответы [ 2 ]

0 голосов
/ 14 мая 2019

Мое решение моей проблемы закончилось для меня переустановкой Laravel с использованием

composer global require laravel/installer

Оказывается, что сервер, на который я его перемещал, не имел всех обновленных зависимостей, которые были необходимы для обновленного экземпляра Laravel. Прежде чем пытаться что-то еще, попробуйте сделать это, чтобы увидеть, нужно ли обновить / переустановить.

0 голосов
/ 11 мая 2019

Если вы только что изменили версию PHP, у вас, вероятно, есть файлы вендоров для более старой версии PHP 5.x, которые содержат устаревший / устаревший код для новых версий PHP 7.x

Исходя из этого, я рекомендую удалить файл composer.lock, папку vendor, а затем снова запустить composer с помощью composer install.

Поскольку composer.lock больше не существует, будет произведена чистая установка для вашей новой версии PHP.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...