Журнал классов не существует в контейнере. php, но у меня нет пробелов без кавычек в .env или ошибок в конфигурации - PullRequest
1 голос
/ 26 марта 2020

Я застрял, пытаясь понять, почему я получаю это каждый раз, когда пытаюсь запустить php artisan key:generate (или любую другую команду php artisan).

PHP Fatal error:  Uncaught ReflectionException: Class log does not exist in C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php:734
Stack trace:
#0 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(734): ReflectionClass->__construct('log')
#1 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(629): Illuminate\Container\Container->build('log', Array)
#2 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(697): Illuminate\Container\Container->make('log', Array)
#3 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(849): Illuminate\Foundation\Application->make('log')
#4 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(804): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#5 C:\Users\Sam\P in C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 734

Fatal error: Uncaught ReflectionException: Class log does not exist in C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php:734
Stack trace:
#0 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(734): ReflectionClass->__construct('log')
#1 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(629): Illuminate\Container\Container->build('log', Array)
#2 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(697): Illuminate\Container\Container->make('log', Array)
#3 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(849): Illuminate\Foundation\Application->make('log')
#4 C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php(804): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#5 C:\Users\Sam\P in C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 734

Некоторые предлагали поставить это на top of vendor \ laravel \ framework \ src \ Illuminate \ Container \ Container. php, потому что это выявит основную ошибку:

namespace {
    use Monolog\Logger as Monolog;
    class log extends Illuminate\Log\Writer {
        function __construct()
        {
            $this->monolog = new Monolog("local");
        }
    }
}

Но вместо этого я начал получать:

PHP Fatal error:  Uncaught ReflectionException: Class env does not exist in C:\Users\Sam\PhpstormProjects\banqo.net\vendor\laravel\
framework\src\Illuminate\Container\Container.php:744

с трассировкой стека, аналогичной исходной ошибке. Я изучал в Интернете, что может быть причиной этого. Кто-то предложил запустить 'phpunit', поэтому я сделал и получил ошибку:

Dotenv\Exception\InvalidFileException: Dotenv values containing spaces must be surrounded by quotes.

Я подумал, что это было интересно, потому что люди предположили, что значения .env, содержащие пробелы, могли вызвать Первоначальная проблема, но я тщательно и неоднократно проверял свой файл .env на наличие пробелов, и там, где их не должно быть, нет ни одного. Я даже пытался обернуть буквально каждое значение .env в кавычки. Вдобавок ко всему этому моя IDE (Phpstorm) сообщает мне, что ни в одном из файлов в моей папке конфигурации нет ошибок.

Что может быть причиной этой проблемы?

1 Ответ

0 голосов
/ 26 марта 2020

ШАГ 1

Убедитесь, что вы правильно установили все пакеты composer install.

ШАГ 2

Выполнить composer dump-autoload для повторного создания ссылок на классы.

...