2014-11-19 00:06:00 6444次浏览 2条回答 0 悬赏 0 金钱

按照指南:
$config = [ ... ];

if (YII_ENV_DEV) {

$config['bootstrap'][] = 'gii';
$config['modules']['gii'] = 'yii\gii\Module';

}
这段配置的意思是如果当前是开发环境,应用会包含 gii 模块,模块类是 [[yii\gii\Module]]。

如果你检查应用的入口脚本 web/index.php,将看到这行代码将 YII_ENV_DEV 设为 true:

复制代码defined('YII_ENV') or define('YII_ENV', 'dev');
代码设置应用处于开发模式下,按照上面的配置会打开 Gii 模块。你可以直接通过 URL 访问 Gii:
http://hostname/index.php?r=gii

可是
Not Found (#404)
Unable to resolve the request "gii".

最佳答案

  • 大裤衩子 发布于 2014-11-19 09:00 举报

    gii和debug模块,默认只在localhost下生效,配置一下允许的ip就可以了。

    2 条回复
    回复于 2014-11-19 10:27 回复

    谢谢你啊,ip是要设下,还有config/web.php里判断的是YII_ENV_DEV, 可是web/index.php里是defined('YII_ENV') or define('YII_ENV', 'dev'); 根本不是一个变量,gii根本没有进config数组

    回复于 2015-07-01 14:08 回复

    这是两上不同的常量的,如果将YII_ENV设置为dev的话,yii系统会自动再定义一个常量YII_ENV_DEV,其值为true。目前没有找在哪里定义的,有知道的可以说一下。

  • 回答于 2017-04-12 16:48 举报

    变量名字都不一样。。
    在入口文件index.php,找到“defined('YII_ENV') or define('YII_ENV', 'dev');"
    在它下面重新定义。defined('YII_ENV_DEV ') or define('YII_ENV_DEV ', 'true');
    前提是:ip地址是127.0.0.1或者localhost。要不然就在web.php增加允许的ip地址也可以。

您需要登录后才可以回答。登录 | 立即注册
liuhuan
试用期

liuhuan

注册时间:2014-11-18
最后登录:2014-11-19
在线时长:2小时20分
  • 粉丝0
  • 金钱10
  • 威望0
  • 积分30

热门问题