【Wordpress Memo】
versionを3.2にupdateしようと思い、自動更新したら次のようなエラーが発生.
[php]Warning: touch() [function.touch]: SAFE MODE Restriction in effect.
The script whose uid is xxxxx is not allowed to access /tmp owned by uid 0 in /public_html/wp/wp-admin/includes/file.php on line 174[/php]
調べてみたら,XREAはPHPをセーフモードで動作するとかしないとか.
よって,CGIモードで動くように設定を書かなくてはならないらしい.たぶん.
そもそも対処方法は大きく2種類あって,
1. /tmpフォルダを作成,権限を与えておく方方法
2. CGIモードで動くように設定を記述する方法
1はパスのあたりがよくわかんなかったんで,今回は2で対応しました.
興味のある方は以下続きへ.
【対応方法】
FFFTPでも何でもいいんだけど,/wp-admin/の下に.htaccessを作成し,以下を書く.
[php]AddHandler application/x-httpd-phpcgi .php[/php]
これでWordpressの更新やプラグインの更新は容易にできるようになる(エラー吐かない)けど,
管理画面であるダッシュボードのデザインが大幅に崩れる副作用的エラーが発生.
そこで,
[php]<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php </files>
<files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php </files>
<files update.php>
AddHandler application/x-httpd-phpcgi .php </files>
<files update-core.php>
AddHandler application/x-httpd-phpcgi .php </file>[/php]
といったような風に書き換え.しかし,何故かこれでは更新ができないエラーが再発.
これはもはや更新するときだけ.htaccessを上のに書き換えるしかないのか...とよぎる.
しかし,もうちょい見てみたらどうやら以下でうまく行くらしい.
[php]AddHandler application/x-httpd-phpcgi .php
<files load-styles.php>
AddHandler application/x-httpd-php .php
</files>[/php]
ただしこれは/wp-admin/の.htaccessではなく,wpルートの.htaccessに記述する.
これで完了.お疲れ様でした.