使用composer在PHP 7.1.8(fedora 23)上安装Laravel 5.6后,当我尝试在浏览器中打开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
我使用composer安装了Laravel,安装时没有错误。所有目录都有足够的权限(我只是授予了官方Laravel安装指南指定的目录的apache写权限。)
我该怎么做才能解决此错误?
答案 0 :(得分:-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
我希望这对那些面临同样问题的人有所帮助。