致命错误:未捕获的 ReflectionException:类配置不存在
Posted
技术标签:
【中文标题】致命错误:未捕获的 ReflectionException:类配置不存在【英文标题】:Fatal error: Uncaught ReflectionException: Class config does not exist 【发布时间】:2020-01-03 17:05:03 【问题描述】:我正在 Laravel 5.8 上开发一个电子商务项目,但由于我不小心在项目文件夹上运行了“laravel new”命令,因此当我尝试在本地服务器上启动项目时出现此错误:
致命错误:未捕获的 ReflectionException:C:\wamp64\www\e-commerce\vendor\laravel\framework\src\Illuminate\Container\Container.php:788 中不存在类配置 堆栈跟踪: 0 C:\wamp64\www\e-commerce\vendor\laravel\framework\src\Illuminate\Container\Container.php(788): ReflectionClass->__construct('config') 1 C:\wamp64\www\e-commerce\vendor\laravel\framework\src\Illuminate\Container\Container.php(667): Illuminate\Container\Container->build('config') 2 C:\wamp64\www\e-commerce\vendor\laravel\framework\src\Illuminate\Container\Container.php(615): Illuminate\Container\Container->resolve('config', Array) 3 C:\wamp64\www\e-commerce\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(767): Illuminate\Container\Container->make('config', Array) 4 C:\wamp64\www\e-commerce\vendor\laravel\framework\src\Illuminate\Container\Container.php(1227): Illuminate\Foundation\Application->make('config') 5 C:\wamp64\www\e-commerce\vendor\laravel\framework\src\Illuminate\Log\LogManager.php(417): Illuminate\Container\C in C:\wamp64\www\e-commerce\vendor\ laravel\framework\src\Illuminate\Container\Container.php 788行"
第 788 行的错误指的是那部分代码:
$reflector = new ReflectionClass($concrete)
这发生在我从 Github 克隆我的 repo 之后。现在,对于我尝试在本地服务器上运行的每个项目,我都会收到此错误。
我尝试了“composer install”、“composer update”、“composer dump-autoload”,但它们最后都给出了与此行相同的错误: "Script @php artisan package:discover --ansi 处理返回的自动加载转储后事件,错误代码为 255"。
我检查了 .env 文件,看看是否也存在命名空间问题,但没有。
提前感谢您的帮助。
【问题讨论】:
在您找到项目文件夹之前,repo 是最新的吗? 修改您的composer.json
以从 scripts
部分中删除任何工匠脚本调用。然后再试一次。
composer update --no-scripts
然后试试composer update
RiggsFolly 实际上不,不是。
composer update --no-scripts
成功了,谢谢@DilipHirapara
【参考方案1】:
尝试删除de文件:
cd bootstrap/cache/
rm -rf *.php
在这个目录中是初始化结构的文件,缓存目录包含了用于性能优化的结构生成文件,例如文件和路由缓存服务。
【讨论】:
我尝试了上述所有方法,但都没有奏效。谁能给我点别的吗?【参考方案2】:确保您的 .env 文件与本地环境中的完全相同。确保 .env 文件中的值没有空格。有空格的应该用引号括起来
【讨论】:
【参考方案3】:我尝试了@gulCunha 的答案,它奏效了。
之后,您必须运行 composer update
才能创建新的 composer.lock
和 php artisan config:cache
,然后您就可以开始了。
【讨论】:
【参考方案4】:您是否更改了 .env 文件,我误以为我添加了一个带空格的"APP_NAME=aaa aa "
,然后检查了每个位置,之后APP_NAME=
更改为不带空格,现在可以正常工作了。
【讨论】:
【参考方案5】:您可以检查以下项目
-
检查您的APP_NAME 是否有空间。如果有空格,请用引号括起来。
从 bootstrap/cache/ 文件夹中删除所有内容。
运行
composer dump-autoload
希望能成功
【讨论】:
【参考方案6】:我遇到了类似的问题。这是我修复它的方法。
当我在我的 config/app.php 提供程序中安装 Toastr 时,它就开始了。 我未能添加尾随的“,”。 于是就有了问题。
解决方案: 检查您安装的最后一个软件包。 检查您是否在服务提供者中正确添加。
【讨论】:
以上是关于致命错误:未捕获的 ReflectionException:类配置不存在的主要内容,如果未能解决你的问题,请参考以下文章
致命错误:未捕获的错误:调用未定义的方法 stdClass::option();