2

http://www.yiiframework.com/doc/blog/1.1/en/prototype.scaffold教程之后,它提到添加一些代码到 /blog/protected/config/main.php

return array(
    ......
    'import'=>array(
        'application.models.*',
        'application.components.*',
    ),

    'modules'=>array(
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'pick up a password here',
        ),
    ),
);

这些是我的 main.php 代码的最后几行,如您所见,我已按照说明进行操作...

        'errorHandler'=>array(
            // use 'site/error' action to display errors
            'errorAction'=>'site/error',
        ),
        'log'=>array(
            'class'=>'CLogRouter',
            'routes'=>array(
                array(
                    'class'=>'CFileLogRoute',
                    'levels'=>'error, warning',
                ),
                // uncomment the following to show log messages on web pages
                /*
                array(
                    'class'=>'CWebLogRoute',
                ),
                */
            ),
        ),
    ),

    // application-level parameters that can be accessed
    // using Yii::app()->params['paramName']
    'params'=>array(
        // this is used in contact page
        'adminEmail'=>'example@example.com',
    ),
    'import'=>array(
        'application.models.*',
        'application.components.*',
    ),
    'modules'=>array(
        'gii'=>array(
            'class'=>'system.gii.GiiModule',
            'password'=>'pick up a password here',
        ),
    ),
);

然而,当我访问 index.php?r=gii 时,我收到以下错误:

Error 404 Unable to resolve the request "gii".

仅供参考 - 我使用的是最新的稳定版本 1.1.12。

更新

我删除了所有内容并重新开始,现在正在工作。一定是在途中做了什么傻事

4

3 回答 3

0

好吧,您是否尝试过另一个 uri,例如:localhost/site/error

如果得到 404 那么这是一个.htaccess问题,尝试将以下代码保存在根目录下的.htaccess文件中:

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule ^.*$ /index.php [L]
于 2014-06-09T00:30:21.200 回答
0

您已经在http://pastebin.com/x3zWWLtm'modules'的第 21 行获得了配置数组的键。删除您手动添加的密钥并在第 21 行取消注释:'modules''gii'

<?php

// uncomment the following to define a path alias
// Yii::setPathOfAlias('local','path/to/local-folder');

// This is the main Web application configuration. Any writable
// CWebApplication properties can be configured here.
return array(
        // ...

        'modules'=>array(
                // uncomment the following to enable the Gii tool
                /*
                'gii'=>array(
                        'class'=>'system.gii.GiiModule',
                        'password'=>'Enter Your Password Here',
                        // If removed, Gii defaults to localhost only. Edit carefully to taste.
                        'ipFilters'=>array('127.0.0.1','::1'),
                ),
                */
        ),
        // ...
    );

我刚刚下载了最新的 yii 并创建了一个 Web 应用程序:

f0t0n@lotus:~/public_html/localhost/yii$ php framework/yiic webapp ../yiiapp

然后gii像我提到的那样取消注释包括在配置中的模块行,它工作完美:http://localhost/yiiapp/index.php?r=gii

于 2012-09-19T20:22:22.537 回答
0

我遇到了同样的问题,我只是在 config/main.php 中临时注释了作为rules键值的数组内容:

'urlManager'=>array(
    'urlFormat'=>'path',
    'rules'=>array(/*
        '<controller:\w+>/<id:\d+>'=>'<controller>/view',
        '<controller:\w+>'=>'<controller>/index',
        '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
        '<controller:\w+>/<action:\w+>'=>'<controller>/<action>'*/
    ),
    'showScriptName'=>false,
),

然后我访问gii,生成了我的控制器和视图,最后取消了这些行的注释。

于 2013-07-31T16:51:07.137 回答