2016-03-16 6 views
0

centos7.0Laravel журнал класса PHP ремесленник не находит

Laravel 5.1.11

php7.0

"PHP ремесленник" сообщение:

Fatal error: Uncaught ReflectionException: Class log does not exist in /home/website/vendor/laravel/framework/src/Illuminate/Container/Container.php:741 
Stack trace: 
#0 /home/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(741): ReflectionClass->__construct('log') 
#1 /home/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('log', Array) 
#2 /home/website/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('log', Array) 
#3 /home/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(842): Illuminate\Foundation\Application->make('log') 
#4 /home/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(805): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter)) 
#5 /home/website/vendor/laravel/framework/src/Illuminate/Container/Container.php(774): Illuminate\Container\Container->getDependencies(Array, Array) 
#6 /home/website/vendor/ in /home/website/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 741 

ответ

1

ошибка была потому что одно из значений в файле .env может иметь пробелы.

Просто вложил любые значения с пробелом в двойные кавычки.

Например, давайте предположим, что это часть вашего файла .env

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=This Will Cause An Error 

DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 

.... 

APP_KEY=This Will Cause An Error вызовет этот вопрос, потому что он должен быть в кавычках, как:

APP_KEY="This Will Work"

Также любое пространство после значения могут также вызвать такую ​​же проблему

+0

Я уверен, что .env не проблема, потому что весь проект находится под окнами + php7.0 нормальной работы –

+0

@ 吕维 冲 Просто обновил свой ответ, чтобы сделать его более понятным. –

+0

Я проверил его внимательно, но проблем нет. –

1

В моем случае причина этого ror было отсутствующим расширением php. Поскольку это недостающее расширение вызывает ошибку, регистратор пытается его зарегистрировать. Это исключение появляется в результате того, что класс «log» не разрешен из контейнера. Я думаю, что это ошибка Laravel.

+0

. Какое расширение отсутствовало, что требуется Laravel? Я получаю ту же проблему, и это не файл .env .... –

+0

В моем случае расширение было 'php70w-pdo' !! Спасибо за совет. –

-1

Сначала проверьте пользователя и пользователя системы Apache. Затем выполните следующие команды для установки разрешений файловой системы:

sudo chmod 755 storage -R 
sudo chmod 755 vendor -R 
sudo chmod 755 bootstrap -R 

После завершения изменения прав доступа к файлам, очистить chache со следующими командами:

php artisan config:cache 
php artisan cache:clear 
php artisan config:clear 

Это работает для меня.