当前位置: 首页 > 面试题库 >

未捕获的ReflectionException:类日志不存在Laravel 5.2

冷浩瀚
2023-03-14
问题内容

我目前正在尝试从github克隆我现有的项目。在克隆composer install过程中运行之后,我收到以下错误:

Uncaught ReflectionException: Class log does not exist

我在Centos 7上运行Laravel 5.2

我看到过以下引用:

  • 删除.env文件中的空格。
  • 删除供应商目录并重新安装
  • 删除composer.json中所需的某些软件包

我有:

  • 将替换.env为,example.env以避免任何自定义配置错误。
  • 我已删除并重新克隆了仓库。
  • 我已经使用composer.jsonLaravel附带的默认值来查看是否有所作为。

以上这些都没有给我带来任何快乐。我还在另一台计算机上设置了相同的环境,应用程序正常运行。唯一的区别是未从git克隆机器(运行中的机器),而是最初的构建环境。

我收到的堆栈跟踪:

PHP Fatal error:  Uncaught ReflectionException: Class log does not exist in /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Container/Container.php:736
    Stack trace:
    #0 /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Container/Container.php(736): ReflectionClass->__construct('log')
    #1 /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Container/Container.php(631): Illuminate\Container\Container->build('log', Array)
    #2 /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(674): Illuminate\Container\Container->make('log', Array)
    #3 /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Container/Container.php(845): Illuminate\Foundation\Application->make('log')
    #4 /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Container/Container.php(800): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
    #5 /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Container/Container.php(769): Illuminate\Container\Container->getDependenc in /var/www/html/Acme/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 736

任何帮助将非常感激。提前致谢。


问题答案:

好的,经过数小时的挖掘,已经找到了解决 我问题的方法 。我说我的问题的原因是因为Exception误导性很强。

Uncaught ReflectionException: Class log does not exist

此异常仅表示Laravel尝试记录错误,但无法实例化Laravel的Log类。这不是由于Log类走动或隐藏。这是因为Laravel仍在进行引导过程,并且尚未加载Log该类。

因此,引发此异常是因为在Laravel的启动周期中发生了错误-发生此错误时,它试图引发异常-
但由于Log尚未加载该类,因此它无法引发异常。因此,我们得到一个ReflectionException

在所有版本的Laravel中都发生了 这种 情况, 我们看到laravel
5.1中抛出异常的唯一原因是<=,因为以前Laravel默默地放弃了该问题并通过启动过程继续进行-基本上,您的应用仍会崩溃,但是您不会收到的Log class exception

在我的特殊情况下,我没有php-mysql安装扩展程序,导致Laravel在启动过程中中断。

最终,由于错误的误导性,很难调试可能做错的事情。

我希望这可以帮助别人!



 类似资料:
  • 问题内容: 我马上输入命令。 我收到 错误提示 : [ReflectionException] 类UserTableSeeder不存在 在这里,是我&页面 UserTableSeeder.php DatabaseSeeder.php 我将这个链接引至“设计与开发”登录页面。请帮助我解决此问题。谢谢。 问题答案: 执行一个,然后。 如果以上操作不解决问题 ,改变 你的 文件,使之包含项目相关的路径到

  • 尽快,我输入命令。 我得到错误像: [ReflectionException] 类UserTableSeeder不存在 这里是我的 用户表种子。php 数据库eeder.php 我把这个链接和设计联系起来

  • 我们正在一个拉威尔项目的团队中工作,当我试着跑步时,我已经把我的队友们的工作都拉进来了 “php artisan迁移:刷新--种子” 我有一个奇怪的错误: 文件ColorsTableSeeder确实存在,因此我不知道为什么会出现此错误ColorsTableSeeder:

  • 每当azure blob存储中有修改时,我们都需要捕获azure cosmos db中的文件细节和事件时间。例如,我从azure blob存储中删除了一个文件,并在一个容器中删除了需要在azure cosmosdb中捕获的信息。我试着用事件网格触发azure功能,但不适合我。你能为这个场景提供azure函数的例子吗

  • 我有不同文件夹中的数据库种子分类。当我写入db:seed时,控制台显示以下错误: 其中一类是: 我的另一门课是 我试过用 但是不起作用。 如您所见,我在同一名称空间中有两个类。 请帮忙。

  • 我有一个问题,当我使用command composer require st.或php artisan st.等时,我会出现以下错误: 正在使用^2.3版进行干预/映像/创作者json已经更新 php artisan clear已编译 致命错误:未捕获的反射异常:类日志不存在于D:\程序\Wamp\www\blog\供应商\laravel\框架\src\Illumate\容器\Container.