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

2023-11-29

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

Uncaught ReflectionException: Class log does not exist

我在 Centos 7 上运行 Laravel 5.2。

我见过参考文献:

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

I have:

  • 更换了我的.envexample.env以避免任何自定义配置错误。
  • 我已删除并重新克隆该存储库。
  • 我已经用了默认的composer.json与 Laravel 一起提供,看看这是否会产生影响。

以上这些都没有给我带来任何快乐。我还在另一台机器上设置了相同的环境,应用程序运行良好。这里唯一的区别是机器(工作)不是从 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 尝试记录错误但无法实例化 LaravelLog班级。这不是由于 Log 类四处走动或隐藏所致。这是因为 Laravel 仍在执行启动过程并且尚未加载Log class.

因此,抛出此异常是因为 Laravel 的启动周期期间发生错误 - 当此错误发生时,它试图抛出异常 - 但它不能抛出异常,因为Log类尚未加载。因此我们得到的原因是ReflectionException

This 已发生在 Laravel 的所有版本中我们在 laravel 5.1 Log class exception.

就我的具体情况而言,我没有php-mysql安装的扩展导致 Laravel 在启动过程中崩溃。

最终,由于错误非常具有误导性,因此调试您可能做错的事情非常困难。

我希望这可以帮助别人!

EDIT:关于如何调试此错误并找出哪个缺失的扩展/组件实际上导致了问题,请查看@Ben Johnson 的答案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

未捕获的 ReflectionException:类日志不存在 Laravel 5.2 的相关文章