Laravel 5.6 Uncaught RuntimeException: не установлен корень фасада. в vendor / laravel / framework / src / Illuminate / Support / Facades / Facade.php: 218

После установки Laravel 5.6 на PHP 7.1.8 (fedora 23) с помощью композитора, когда я пытаюсь открыть URL-адрес в браузере, я получаю эту ошибку

PHP Fatal error:  Uncaught RuntimeException: A facade root has not been set. in vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:218\nStack trace:  
\n#0 vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(396): Illuminate\\Support\\Facades\\Facade::__callStatic('replaceNamespac...', Array)  
\n#1 vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(373): Illuminate\\Foundation\\Exceptions\\Handler->registerErrorViewPaths()  
\n#2 vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(288): Illuminate\\Foundation\\Exceptions\\Handler->renderHttpException(Object(Symfony\\Component\\HttpKernel\\Exception\\HttpException))  
\n#3 vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(187): Illuminate\\Foundation\\Exceptions\\Handler->prepareResponse(Object(Illuminate\\Http\\Request), Object(Symfony\\Co in vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 218

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

Что мне делать, чтобы исправить эту ошибку?


person FMoridhara    schedule 14.05.2018    source источник
comment
Вы вообще модифицировали какой-либо код из установки laravel по умолчанию? это 100% свежее?   -  person Quezler    schedule 14.05.2018
comment
@Quezler - 100% свежее. Я не касался кода. Я только что установил, настроил хост и проверил URL-адрес.   -  person FMoridhara    schedule 14.05.2018
comment
Когда вы запускаете любую php artisan команду в этой установке, получаете ли вы ту же ошибку?   -  person Quezler    schedule 14.05.2018
comment
Когда я запускаю php artisan из корневой папки своего приложения, я получаю справочную информацию. Я не вижу ошибок, возможно, мне нужно проверить это по-другому, но я понятия не имею.   -  person FMoridhara    schedule 14.05.2018
comment
(я знаю, что вы знаете, просто упомяну для других :), возможно, связанных: stackoverflow.com/questions/49818102/   -  person Quezler    schedule 14.05.2018
comment
правильно ли вы настроили .env?   -  person punk73    schedule 15.05.2018
comment
@Quezler Когда я запускаю php artisan serve из корневой папки и проверяю http://127.0.0.1:8000/ в браузере, я вижу домашнюю страницу приложения.   -  person FMoridhara    schedule 15.05.2018
comment
@ punk73 ys Я внес изменения в APP_URL и сохранил все остальные настройки со значениями по умолчанию. Но это не работает. Я вижу некоторые конфигурации, в которые я не вносил никаких изменений или не уверен, следует ли их сохранить или удалить. Например, MIX_PUSHER_APP_KEY и MIX_PUSHER_APP_CLUSTER   -  person FMoridhara    schedule 15.05.2018


Ответы (1)


После долгих попыток я понял, что это проблема из-за того, что в моей системе действует SELinux. SELinux не позволял apache записывать в требуемые файлы.

$ /usr/sbin/getenforce
Enforcing

Я отключил SELinux, чтобы подтвердить это сомнение, и он работал правильно после отключения SELinux. Поэтому мне просто нужно было установить правильное разрешение для моего проекта, чтобы SELinux мог разрешить apache записывать в необходимые файлы.

$sudo chcon -t httpd_sys_rw_content_t /path/to/my/laravel/project/dir -R

Надеюсь, это поможет тем, кто сталкивается с той же проблемой.

person FMoridhara    schedule 18.05.2018
comment
Вы не хотите, чтобы весь каталог вашего проекта был доступен для записи. Только каталоги storage и bootstrap/cache должны быть доступны для записи процессу веб-сервера. И это не привело бы к той ошибке, которую вы видели. - person miken32; 08.06.2018
comment
Да, это не нужно для всего проекта - person FMoridhara; 11.06.2018