谁一开始就是大神?

把backend复制为api访问报错[2.0]

An Error occurred while handling another error:
exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "site/error".' in G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\Module.php:532
Stack trace:
#0 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\ErrorHandler.php(95): yii\base\Module->runAction('site/error')
#1 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\ErrorHandler.php(111): 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\web\NotFoundHttpException' with message 'Page not found.' in G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\Request.php:193
Stack trace:
#0 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\web\Application.php(82): yii\web\Request->resolve()
#1 G:\LocalDev\api.bto.com\systems\vendor\yiisoft\yii2\base\Application.php(380): yii\web\Application->handleRequest(Object(yii\web\Request))
#2 G:\LocalDev\api.bto.com\wwwroot\index.php(31): yii\base\Application->run()
#3 {main}

在网上搜索了一些资料
修改了common/config/bootstrap.php里的别名还是一样

Yii::setAlias('@common', dirname(__DIR__));
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
Yii::setAlias('@console', dirname(dirname(__DIR__)) . '/console');

单从报错内容来说,好想是没有 api/controllers/sitecontroller
应该是 namespace 和 config/main.php 的问题,
如果你是直接把 backend 改名为 api(就是已经不存在backend文件夹)
你需要把api/controllers and api/models 下面所有的 namespace 从 backend/xxxx/xxxx 改为 api/xxx/xxx
同时需要把api/config/main.php 下面的 defaultController 从 backend/xxx/xxx 改为 api/xxx/xxx
最好的解决办法,尝试搜索,在api文件包内搜索 backend 这个keyword
祝好运。

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 把backend复制为api访问报错[2.0]

评论 抢沙发

登录

找回密码

注册