yii2 controller 大小写 Unable to resolve the request "site/error"

我在本地用yii2创建了一个控制器TTeamController.php,输入localhost/v1/tteam能够正常访问,但是当我复制了相应文件上传到服务器上之后,访问的时候却提示以下错误

An Error occurred while handling another error:
exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "site/error".' in D:\workspace\hdapi\vendor\yiisoft\yii2\base\Module.php:461
Stack trace:
#0 D:\workspace\hdapi\vendor\yiisoft\yii2\web\ErrorHandler.php(85): yii\base\Module->runAction('site/error')
#1 D:\workspace\hdapi\vendor\yiisoft\yii2\base\ErrorHandler.php(109): yii\web\ErrorHandler->renderException(Object(yii\web\NotFoundHttpException))
#2 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\web\NotFoundHttpException))
#3 {main}
Previous exception:
exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "v1/tteam".' in D:\workspace\hdapi\vendor\yiisoft\yii2\base\Module.php:461
Stack trace:
#0 D:\workspace\hdapi\vendor\yiisoft\yii2\web\Application.php(84): yii\base\Module->runAction('v1/tteam', Array)
#1 D:\workspace\hdapi\vendor\yiisoft\yii2\base\Application.php(375): yii\web\Application->handleRequest(Object(yii\web\Request))
#2 D:\workspace\hdapi\api\web\index.php(19): yii\base\Application->run()
#3 {main}

Next exception 'yii\web\NotFoundHttpException' with message '椤甸潰鏈壘鍒般€�' in D:\workspace\hdapi\vendor\yiisoft\yii2\web\Application.php:96
Stack trace:
#0 D:\workspace\hdapi\vendor\yiisoft\yii2\base\Application.php(375): yii\web\Application->handleRequest(Object(yii\web\Request))
#1 D:\workspace\hdapi\api\web\index.php(19): yii\base\Application->run()
#2 {main}

询问之后得知,我本地的yii跟服务其上的yii版本不是一个

按照错误提示,找到module.php,这文件中有个拼接控制器文件名称的方法:createControllerByID、

对比两个版本的module.php之后,证实这两个方法确实有不同

服务其上的createControllerByID

本地的createControllerByID

 

标记的就是这两个方法不同的地方。因为用到了ucwords这个方法,将输入的tteam的首字母大写了,

也就是说服务器上的版本要找的控制器文件的名称是Tteamcontroller,

get_class($controller)的值是TTeamcontroller,而$className的值是Tteamcontroller,两个不相等,所以返回的是null

而本地的没有对比,直接返回的是$controller;

所以要解决服务其上的错误就需要把TTeamcontroller改为Tteamcontroller

 

转载于:https://www.cnblogs.com/yangbanban/p/4936724.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值