2012-09-19 50 views
2

http://www.yiiframework.com/doc/blog/1.1/en/prototype.scaffold教程,它提到要添加一些代碼來/blog/protected/config/main.phpgii 404錯誤。無法使用GII

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'=>'[email protected]', 
    ), 
    '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". 

FYI - 我正在使用最新的穩定版本1.1.12。

UPDATE

我刪除一切,重新開始,現在正在工作。必須做一些愚蠢的行程

+0

需要完整的配置。 還有路由規則。 –

+0

http://pastebin.com/x3zWWLtm這是默認的路由規則。這是我的第一個yii應用程序,我只是在全新安裝後繼續教程。 http://derp.co.uk/07275 – Gravy

+0

你的應用程序文件夾裏有一個.htaccess文件嗎? –

回答

0

你已經有'modules'配置數組的關鍵在這裏第21行http://pastebin.com/x3zWWLtm。在第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'), 
       ), 
       */ 
     ), 
     // ... 
    ); 

我剛剛下載了最新警予和創建Web應用程序:

[email protected]:~/public_html/localhost/yii$ php framework/yiic webapp ../yiiapp 

然後註釋掉的gii模塊的行包括在我已經提到的配置,它的工作完美:http://localhost/yiiapp/index.php?r=gii

+0

我已經嘗試過了......它沒有工作。這就是爲什麼我再次評論它,並試圖在最後添加它......以防萬一。 – Gravy

+0

它應該以這種方式工作。 –

+0

config.php應該只有一個模塊數組,否則它將被最後一個數組覆蓋。同樣的問題發生在我解決了它由 結合兩個模塊數組成一個與各自的陣列。 –

0

我有同樣的問題,我剛剛在config/main.php,註釋的內容ar射線那就是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,產生我的控制器和視圖和最後未註釋的那些行。

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]