菜鸟遇到得第8个坑:控制器不存在:app\admin\controller\Admin的排查步骤

作为学thinkphp的小白,真是走哪哪掉坑,做啥啥不顺,先贴错误代码

[0] HttpException in App.php line 574
控制器不存在:app\admin\controller\Admin

        try {
            $instance = Loader::controller(
                $controller,
                $config['url_controller_layer'],
                $config['controller_suffix'],
                $config['empty_controller']
            );
        } catch (ClassNotFoundException $e) {
            throw new HttpException(404, 'controller not exists:' . $e->getClass());
        }

        // 获取当前操作名
        $action = $actionName . $config['action_suffix'];

        $vars = [];
        if (is_callable([$instance, $action])) {
            // 执行操作方法
            $call = [$instance, $action];
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

这是照着官网视频一步步来的,但是发觉居然人家视频里可以访问,但是我的不可以,很是郁闷,各种百度,也没有很好的解决方法。于是放着,最后随着学习的深入,才发觉thinkphp里面很多功能是通过配置文件进行控制的,然后想到,不能访问admin模块,是不是配置文件中写死了呢,结果一看,果然是配置文件写死了,废话不多说,一下直接贴出改好的配置文件:

    // 默认模块名
    'default_module'         => '',
    // 禁止访问模块
    'deny_module_list'       => ['common'],
    // 默认控制器名
    'default_controller'     => '',
    // 默认操作名
    'default_action'         => '',
    // 默认验证器
    'default_validate'       => '',
    // 默认的空控制器名
    'empty_controller'       => 'Error',
    // 操作方法后缀
    'action_suffix'          => '',
    // 自动搜索控制器
    'controller_auto_search' => true,
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

改了之后,如果还是找不到该方法,而且确实定义了该控制器,如图,发觉是admin文件名没有首字母大写,thinkphp认为不合法,所以找不到,另外还需要注意的是,namespace app\admin\controller;一行的不要有大写出现。 
找不到控制器

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值