2013年05月15日

yii gii 有効化で SAFE MODE Restriction

yii フレームワークにはgiiというyiiを利用したWebアプリケーションのコードを自動生成するツールが組み込まれています。

gii の有効化


giiを利用する設定をするにはアプリケーションディレクトリの
 protected/config/main.php
ファイルの以下のコメント開始・終了の行を削除してgiiモジュールを有効化します。
'password'項目の値'Enter Your Password Heer'を任意のパスワードで置き換えます。

... (省略) ...
'modules'=>array(
// uncomment the following to enable the Gii tool
/* ←コメント開始
'gii'=>array(
'class'=>'system.gii.GiiModule',
'password'=>'Enter Your Password Here', ← gii ログイン用パスワードを指定
// If removed, Gii defaults to localhost only. Edit carefully to taste.
'ipFilters'=>array('127.0.0.1','::1'),
),
コメント終了 →*/
),
... (省略) ...


gii にアクセス


そして以下のURLにアクセスします。以下の例ではアプリケーションディレクトリを"mysite"、使用ドメインをwww.example.com を仮定しています。
http://www.example.com/mysite/index.php?r=gii


「SAFE MODE Restriction in effect」の対応


コアサーバーなどPHPがセーフモードで動作しているサーバーでは、以下の警告が出て、動作しません。
Warning: mkdir() [function.mkdir]: SAFE MODE Restriction in effect. The script whose uid is 1111 is not allowed to access
/virtual/coreuser/public_html/mysite/assets/5f422e5e owned by uid 1000 in
/virtual/coreuser/yii/framework/utils/CFileHelper.php on line 287

これはドキュメントルートの mysite/assets ディレクトリに "5f422e5e" という名前でディレクトリが自動生成されたのですが所有者が"apache"となっているためファイルが書き込めない状態です。
そこで、以下のステップで対応します。

  • ステップ1> assets ディレクトリをクリーンアップする

  • ステップ2> .htaccess ファイルを配置する



ステップ1> assets ディレクトリをクリーンアップする


以下の手順で mysite/assets ディレクトリをクリーンアップします

  1. コアサーバーの管理ツールで所有者の変更をします
    コアサーバー ディレクトリ/ファイルの所有者の変更」に従って所有者を"apache"からログインユーザーに変更します

  2. assets ディレクトリ内のファイルとディレクトリを削除する
    例)
    coreuser@s00:~> cd ~/public_html/mysite/assets
    coreuser@s00:~/public_html/mysite/assets> ls
    drwxrwxrwx 2 apache apache 48 2013-05-15 18:46 391fa766 ←これらのディレクトリ 
    drwxrwxrwx 2 apache apache 48 2013-05-15 18:46 5f422e5e ←はそれぞれの環境で違います
    coreuser@s00:~/public_html/mysite/assets> rm -rf 391fa766 5f422e5e




ステップ2> .htaccess ファイルを配置する


アプリケーションディレクトリ(mysite) に、以下の内容で .htaccess ファイルを作成します。
<files index.php>
AddHandler application/x-httpd-phpcgi .php
</files>

posted by ayagu at 21:55| Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。