XREA(PHPがセーフモードで動作しているサーバー)でファイルアップロード機能を利用できるようにする

XREAなどのPHPがセーフモードとして動作しているサーバーでは、PHPファイル(WordPress)がディレクトリを作成すると、そのディレクトリの権限がApacheになってしまいファイルのアップロードができません。よって、ディレクトリを予め作っておいて権限を与えてやれば動作しますが、アップロードするディレクトリの配下に年月ごとに管理する機能を使いたい場合などにはこれができません(厳密にはできなくはないがめんどくさい)。

そこで、XREA限定ですが、PHPをCGIとして動作させることによりこの制限を外すことができます。

PHPをCGIとして動かす(XREA)

  1. ディレクトリを作成するPHPファイル(ここでは/wp-admin/upload.php)があるディレクトリ(ここでは/wp-admin/)に、「.htaccess」という名前でファイルを作成する(ローカルで作成して、後でアップしても良い)。
  2. 作成したファイルに次のようなコードを書いて保存する(ただし、upload.phpは場合によって読み替えてください)。
    <files upload.php>
    AddHandler application/x-httpd-phpcgi .php
    </flles>

XREA で WordPress ファイルアップロード機能を利用する PHPをCGIとして動かす方法について - XREA&CORE SUPPORT BOARD

(追記:2009-01-12)何故だか分かりませんが、現時点で上記の適用ファイルを限定する、<files upload.php></files>の部分を入れるとエラーが出てしまい動作しなくなってしまいます。ちなみにWordPress2.7にしてからなりましたが、関連があるのでしょうか。

2008-06-09