在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版本,这是最新的稳定版本。
更新
我删除了所有内容并重新开始,现在正在运行。必须做一些愚蠢的途中
答案 0 :(得分:0)
您已经在第21行http://pastebin.com/x3zWWLtm处拥有配置数组的'modules'
键。移除您手动添加的密钥'modules'
,并在第21行取消注释'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
答案 1 :(得分: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
,生成我的控制器并查看并最终取消注释这些行。
答案 2 :(得分: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]