致命错误:未捕获的 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.lockphp 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:类配置不存在的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:未捕获的错误:未找到类“用户名”

致命错误:未捕获的错误:找不到类“App\Config”

致命错误:未捕获的异常 PAYPAL

致命错误:未捕获的错误:调用未定义的方法 stdClass::option();

致命错误:未捕获的 ReflectionException:类配置不存在

为啥致命错误:未捕获的错误:找不到类“Illuminate\Foundation\Application”