WebScripter.jpをご覧頂きありがとうございます。
このサイトについてご意見などあればお気軽にメッセージをお送り下さい。お待ちしています。



captcha

Technical note

CoreserverでWordPressのテーマ編集が出来ない。

2009.10.27

Coreserverは、XREAの上位サービスですが、XREAと同じくphpはセーフモードで動作するので、Wordpressでそのうち問題は出るのだろうなと思いつつ放置してましたが、今制作中の別のブログでテーマ編集ができないという問題が起きました。
制作中はローカルでDreamweaverで編集してはサーバーにアップしていたので気がつきませんでしたが、外出先で管理画面から編集しようとしたら、「ファイル更新」のボタンが無く、

変更を保存するには事前にこのファイルを書き込み可能にする
必要があります。詳しい情報は Codex を参照してください。

と記載されていました。これでは編集ができません。
しかし、以前CoreserverでphpをCGIモードで動作させなければならない状況を経験していたので、ろくにCodexを見ずに、全部CGIモードにしてしまえばいいだろと思い

Apache
AddHandler application/x-httpd-phpcgi .php

と.htaccessに記述してアップしました。…が、管理画面のレイアウトが崩れてしまいました。
元に戻して調べてみましたが、制作中のWordpressのバージョンは2.8で、上の様な記述にしてしまうと管理画面のレイアウトが崩れてしまうようです。

WordPress_break

どうやら、2.8では必要なphpファイルだけをCGIモードで動作するよう指定してした方が良いようです。
そこで、その他の調べたページも参考にしながら.htaccessに記述してみました。もちろん、改めてCodexの方も参考に。 今回気がついたのはテーマ編集だけでしたが、他にもファイルのアップロード、プラグインの新規インストール、テーマ自動アップグレード、コアアップグレード(自動バージョンアップ)も制限に引っかかります。

Apache
# ファイルのアップロード
<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
</Files>

# テーマ編集
<Files theme-editor.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

とりあえず、ファイルのアップロード、コアアップグレード、テーマ編集は問題なく動きました。他はまだ試していませんがおそらく大丈夫でしょう?
動作しないものがあれば、そのファイルを特定して、

Apache
<Files ファイル名.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

と随時追加していけばいいようです。