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 条评论

发表评论

*