我目前正在尝试从 github 克隆我的现有项目。克隆后我运行composer install
在此过程中我收到以下错误:
Uncaught ReflectionException: Class log does not exist
我在 Centos 7 上运行 Laravel 5.2。
我见过参考文献:
- 删除内的空格
.env
file.
- 删除供应商目录并重新安装
- 删除composer.json中所需的某些包
I have:
- 更换了我的
.env
与example.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(使用前将#替换为@)