YII2框架访问gii、debug页面404的错误解决方法

之前在介绍Yii 框架的时候就说过 Yii 支持 gii 功能, gii 去自动生成 Web 站点常用功能的代码,也就是我们经常说的 CURD 操作,增删改查。使用 gii 生成代码也是非常的简单,Gii 被设计成高度可定制和可扩展的代码生成工具, 使用它可以大幅提高应用开发速度

gii 是 Yii 中的一个模块。 可以通过配置应用的 modules 属性来开启它,但是你也别想着靠着 gii 就不用你写 CURD 操作了,该写还是写的,因为 gii 只能自动生成简单的增删改查,也就是单表的增删改查

先开启 gii,通常来讲在 config/web.php 文件中会有以下配置代码,debug 同理

$config = [ ... ];

if (YII_ENV_DEV) {
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

我的项目是做过更改的,肯定不在这里了,看你们实际情况吧,意思就是只有开启了才能使用

这里也不多介绍 gii 的使用了,如果不了解的话可以去看一下 Yii 中文网用 Gii 生成代码的文档

本篇文章主要是说访问 gii 页面 404 的解决方法,为啥呢,因为我差点就删除项目文件重新拉了

而且我之前是能用的,然后突然去访问了一下就 404 了,debug 页面也是 404

看到 404 的第一想法是文件不存在,去看了一下,目录 vendor\yiisoft\ 下是存在的 gii 和 debug 文件夹的

看了一下网上找的答案,都是一些什么 URL 重写以后的错误,还有安全原因拒绝的,可以先排除一下

urlManager 配置了后缀为 .html,在使用 /gii 访问时,由于没有后缀,YII2 框架在解析 URL 时,就直接返回 404 了,所以在配置了 suffix 属性的时候,就需要加上.html来访问,或者不配置’suffix’属性即可

 如果你通过本机以外的机器访问 gii,请求会被出于安全原因拒绝,所以需要配置 gii 为其添加允许访问的 IP 地址

'gii' => [
    'class' => 'yii\gii\Module',
    'allowedIPs' => ['127.0.0.1', '::1', '*.*.*.*'] // 按需调整这里
],

IP 这个我肯定不可能,我就是在本地进行开发的


感觉以上都是废话,开大招,我直接将vendor\yiisoft\目录下的 yii2-gii 和 yii2-debug 删除了

composer update

然后在项目目录使用 composer 进行更新,结果奇迹般的可以用了

giidebug

然后就没了,继续撸码吧

3 条评论

发表评论

*