Route.php 类控制器中的 ReflectionException 不存在
Posted
技术标签:
【中文标题】Route.php 类控制器中的 ReflectionException 不存在【英文标题】:ReflectionException in Route.php Class Controller does not exist 【发布时间】:2017-12-02 15:23:57 【问题描述】:我在 centos 5.8 服务器中使用 Laravel 5.2 并收到以下错误:
ReflectionException in Route.php line 280:
Class xxxx\Http\Controllers\CpanelController does not exist
ErrorException in ClassLoader.php line 412: include(/home/xxxx/vendor/composer/../../app/Http/Controllers/CpanelController.php): failed to open stream: Permission denied
我正在尝试:
php artisan cache:clear
chmod -R 777 storage
composer dump-autoload
但问题依然存在
【问题讨论】:
代替chmod -R 777 storage
试试chmod -R 777 your_root_dir
你检查过命名空间吗?或者也许你有一些命名空间不同的组路由?!
你不应该用 777 chmod 你的根目录,这是修复错误的坏方法,你需要尝试 chmod 777 vendor
和 /vendor/composer
文件夹,重新检查你的命名空间
谢谢。我处理了供应商、供应商/作曲家和主文件夹中的 chmod 权限,但仍然没有。我检查了控制器,它位于正确的位置。还有其他建议吗?
检查控制器文件的拼写和大小写。
【参考方案1】:
Laravel 在找不到 String 指向的类时会通过反射异常。
有几点要记住。
-
确保您的类中有一个正确的命名空间供您尝试访问。
检查控制器文件的大小写。大写和小写在 WINDOWS 中无关紧要,但在 Linux/CentOS 中不起作用。
运行
composer update
将整个目录的权限设置为 777,文件的权限为 644
【讨论】:
以上是关于Route.php 类控制器中的 ReflectionException 不存在的主要内容,如果未能解决你的问题,请参考以下文章