Target class [SearchController] does not exist.不是普通的找不到类的问题而已,很麻烦
1. 运行环境
win10 宝塔lnmp
1). 当前使用的 Laravel 版本?
laravel 7.30.4
2). 当前使用的 php/php-fpm 版本?
PHP 版本:
PHP 7.3.28
3). 当前系统
win10
4). 业务环境
开发环境
5). 相关软件版本
nginx-1.21.1 mysql-5.6.51 redis-6.0.5
“dingo/api”: “v3.0.5”,
2. 问题描述?
背景:本地刚git提交完,准备开始写新的模块(此时都是OK,分支上是干净的,完全是一个新的开始)
php artisan make:controller \\Api\\V1\\Controllers\\SearchController
然后我就像往常一样正常的写控制器,写了一个方法后往添加路由(和以前一样,常规操作)
结果就这样了
我看到第一个反应是这个类没有找到,但是不是类文件没有找到,我首先检查大小写,感觉大小写没有问题,再说这是win10,不是我测试服的ubuntu20.4,大小写应该是不敏感的。
然后我接下来的尝试过的操作:
1.手动修改类文件名和文件类名,相应的路由名变更,就是各加了个a
这个时候意识到问题有点大了,说明我改的东西框架并没有感应到
2.删除刚创建的SearchController.php文件和api.php中的路由
再
此时分支干净,跟没有创建SearchController.php文件和往api.php添加路由之前是一样的,但仍然报错
3.清缓存
还是报这个错,缓存都请不了
考虑是不是php和nginx中的缓存问题
不行
重启nginx,结果不行
然后重启了电脑,还是不行
于是我麻了
删除了cache/data文件夹 ,结果还是不行
4.更神奇的是我已经删除了跟SearchController相关的一切
只剩下日志了
还是
现在就应为这个问题我所有的接口都报这个相关的错误
这个项目都停摆了
所有命令都报错
3. 您期望得到的结果?
现在php artisan xxx这个就用不了了,因为说类找不到么 我就用这个命令再创建还是报错
想让他不报错,可以正常进行业务
你先把报错的那个类用include加上,解决报错问题后再检查哪的问题吧。那个类为没有命名空间的全局类