Yii に関する覚え書き (Gii の使用)

問題

Yii には Gii というコードジェネレーターがある。それを使ってみようとしたのだが、403 Forbidden が返ってくる。

解決

原因は開発環境にあった。自分が試した環境は Yii は仮想マシン上のサーバで稼働している。ブラウザはホストマシンを使用している。Gii の初期設定ではローカルホストからのアクセスしか許可しないようになっている。

protected/config/main.php に書かれている, ipFIlters の値を環境に合わせて変更することで、ホストマシンからでもアクセスすることができた。

  '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'),  // before
      'ipFilters'=>array('192.168.0.1','::1'),   // after
    ),

  ),

{:lang="php"}

ちなみに、ipFilters の設定をコメントアウトすると framework/gii/GiiModule.php に書かれている値が使用される。その値は array('127.0.0.1','::1') となっている。