- 2006-08-16 (水) 4:50
- category:WordPress
私は XREA のサーバースペースを使っています。
XREA では PHP は SAFE MODE 環境で動くようになっています。
このため、WordPress のファイルアップロード機能を使う際に セーフモードの制限を受けてしまっていました。
例えば、WordPress 側がサーバーに新しくディレクトリを作成した場合、 ディレクトリの権限が Apache になってしまうのもセーフモードの制限によるものです。 ディレクトリの権限が Apache になってしまうと、WordPress からファイルをアップロードすることができなくなります。 つまり PHP からディレクトリを作成すると、ファイルのアップロードが出来ないディレクトリになってしまう、ということです。これでは不便です。
ファイルアップロード機能が使いたいのならば、回避策として Wordpress Japan の wiki に 載っている (ファイルアップロード機能の利用 - Wordpress Japan) を参考に、「PHP を CGI として動かしてあげる」もしくは「フォルダだけは手動で作っておく」という方法を使えば良かったのですが、 ふと XREA のサイトを見ていたら「XREA SUPPORT BOARD - PHPをCGIとして動かす方法について」という記事が。
これは!?と思って読んでみたところ…
『 XREA SUPPORT BOARD - PHPをCGIとして動かす方法について 』より引用パーミッション:644などCGIとして必須のオーナー実行権限がなくても実行できますので、標準のモジュール版PHPの設定を引き継いで動作します。 また、先頭行に「#!/usr/local/bin/php」を入れていただく必要はありません。
とのこと。どうやら今年の春から可能になったようです。今頃気がつきました。 できるだけ手をかけずに動かすことができるなら、それに越したことはないので 早速試してみました。
XREA 限定ではありますが、この方法で動かしてあげるとパーミッションの 設定を変える必要がなく、PHP ファイル自体にも「#!/usr/local/bin/php」と書かなくてよいので アップグレードの都度 PHP への変更を加えたりせずに済んでしまいます。
XREA で WordPress のファイルアップロード機能を CGI として動かす
.htaccessでカスタマイズができるので全ての PHP を CGI と動かすのではなく 指定のファイルのみ CGI として動かすことが可能です。 XREA SUPPORT BOARD にも「モジュール版PHPに比べて、動作が遅くなる。負荷が掛かる。」 と書かれていますので、全部を CGI として動かすのではなく、ピンポイントで CGI として 動くようにしてあげるのが良いのではと思います。
ファイルアップロード機能のみ CGI として動かしたい場合は、 wp-admin/inline-uploading.php を CGI として動くようにすればよいので 以下のようにします。
- 適当なテキストエディタに下記の内容を書き、「.htaccess」と名前をつける。
CODE:2008/01/07 改訂
- <files upload.php>
- AddHandler application/x-httpd-phpcgi .php
- </files>
WP のアップロードに関する php ファイルが変わっているので、それにあわせ内容を変更 - .htaccess ファイルを、wp-admin ディレクトリの中にアップロード。
XREA で IImage browser も CGI として動かす
IImage browser については 日本語版を出してくださっている MMRT さんに 詳しく載っていますので、そちらをご覧ください。
IImage-browser 日本語版 « MMRT daily life
IImage browser は簡単に言うと、WordPress のファイルアップロード機能を 使いやすくして強化したようなものです。 普段私はこちらを使っているのですが、やはりこれもセーフモードの制限を受けてしまうので、 FTP でディレクトリをあらかじめ作りパーミッションを設定しておくという方法を取っていました。
こちらもファイルアップロード機能同様、CGI として動くようにしてあげてみました。
IImage browser からディレクトリ作成をして、ディレクトリ権限を確認すると…
当然ですが Apache ではなく、画像アップロードもすんなりできました
これなら FTP でいちいちディレクトリを作ってあげる必要もなくて楽チンです。
IImage browser を CGI として動かすには、
wp-admin/iimage-browser.php を CGI で動くようにすれば OK です。
- 適当なテキストエディタに下記の内容を書き、「.htaccess」と名前をつける。
<files iimage-browser.php>
AddHandler application/x-httpd-phpcgi .php
</files>
- .htaccess ファイルを、wp-admin ディレクトリの中にアップロード。
WordPress のファイルアップロード機能と併用する場合は、 .htaccess にさきほどのものと 両方を書いておけば OK です。
この方法だと元となる PHP ファイルに変更を加えなくて良いので、お手軽でいいですね。 XREA をお使いの方にはお勧めです。
07/03/03 改稿
少し文章を読みやすくなるよう改稿しました。たいして変わっていなかったらスミマセン…!
- Newer: 「進化し続けるWebデザイナーの考え方」を買いました
- Older: デザイン変わりましたね
Comments:22
- ぼの 06-10-25 (水) 20:28
-
inoccoさん、こんにちはー。
1ファイルだけCGIで動かせるのはいいですね。ギャラリープラグインを検討しているので、そのときに試してみようと思います。またまた参考になる記事をありがとうございました。
- inocco 06-10-26 (木) 11:09
-
>ぼのさん
こんにちわ~。
CGI として動かしたい各自ファイルに修正が要らないというのは、そういうファイルがバージョンアップした時などにも楽でいいですよね
面倒くさがりなので、楽をすることには一生懸命です(笑)つたない記事ですが、お役に立てたら嬉しいです
- ひかげ 07-01-23 (火) 19:58
-
検索サイトからたどり着きました。今年からWPをxreaで利用しはじめたので、非常に参考になりました。
これからも巡回させていただきますがよろしくお願いします。
- inocco 07-01-23 (火) 20:12
-
はじめまして、こんにちわ
お役に立てたようで嬉しいです。XREAはたまに難しいところがありますが、上手く設定して動かせると嬉しいですよね。こちらこそ、よろしくお願いします!
- vanjac 07-04-25 (水) 7:57
-
初めまして。検索で辿り着きました。
こういうのは、XREAのトップページやCPにリンクを張って欲しいですよね。
でも、そうすると、ファイル指定せずに使う人が増えて、鯖落ちする可能性もあるかなぁ。。。この処置のおかげで、ImageMagickも簡単に呼び出せるようになりました。
WP以外にも、coppermine photo gallery、MediaWiki、DOKUWIKI等々、恩恵を受けるスクリプトは、計り知れないですね。この処置をしてくださったXREAの方々と、ここで紹介してくださった、ぼのさんに、感謝いたします。
- inocco 07-04-25 (水) 8:28
-
はじめまして

この記事がお役に立ったようで良かったです。セーフモードのせいで上手く動かない PHP は色々あるみたいですね。このせいで「 XREA は特殊だからダメ」と言われてしまうこともあるような・・勿体ないな~!
CGI として動かすために、わざわざ PHP のファイルに自分で何かを書き加えなくてはいけない・・という形ですとバージョンアップの都度作業が発生して面倒ですが、一度 .htaccess ファイルを作れば後は手間要らずなのがこの方法の良い点ですね。
あ、ちなみに私はぼのさんではなくて、inocco です(笑)。
- 洵 07-06-17 (日) 3:02
-
inoccoさん、はじめまして。
XREAでWordPressを試しているのですが、同様にファイルアップロードができません。
こちらに挙げられていた通りの作業をしましたが、.htaccessをアップした時点で全てのページが「Internal Server Error」になってしまいます。私が落としてきたME2.20には
「inline-uploading.php」というファイルも無いようで…
WordPressの仕様が変わったのでしょうか?解決方法をご存知でしたら、助言をお願いいたします(-人-)
※私が使用している141番サーバーは2.20の使用条件を満たしています。
※アップロード先のディレクトリは
/public_html/wordpress/wp-content/uploads です。
属性は777にしています。 - inocco 07-06-17 (日) 17:36
-
洵さん、はじめまして。
WP のファイル名が変わったため、現在は「wp-admin/upload.php」がファイルアップロードに関する PHPファイルのようです。なので .htaccess には
CODE:-
<files upload.php>
-
AddHandler application/x-httpd-phpcgi .php
-
</files>
と書いてみてください。
これを書いたファイルを「.htaccess」と名前をつけて、洵さんの場合ですと
/public_html/wordpress/wp-admin
の中にアップロードする形になります。サーバーエラーになる原因はしっかり分からないのですが、おそらく.htaccess の記述が違っていることが原因ではないかなと思います。以下ページが参考になるかもしれません。
http://www.shtml.jp/htaccess/browser.html#error上手くいくように祈ってます!
-
- 洵 07-06-17 (日) 23:15
-
inoccoさん
アドバイスありがとうございます。
お陰でアップロードができるようになりました
.htaccessのファイル指定については、inoccoさんに教えていただいた通りに直したらOKでした。
Internal Server Errorの件ですが、.htaccessファイルを描いたときに文字コードを「UTF-8」にしていたことが原因だったようです。
Shift_JISで良かったのですね。私のホームグラウンドはMovableTypeなのですが、WordPressは設置の速さと見やすい管理画面がとっても快適ですね
MTの新作も管理画面が改善されたんですが、WordPressにインターフェース似てます。参考にしたんでしょうか(笑)気軽な雑記などに使ってみたいと思います。
重ね重ね、ありがとうございました。 - inocco 07-06-18 (月) 0:49
-
アップロードできるようになったのですね、おめでとうございます!
.htaccess のエラーは、文字コードのせいだったのですね。
MovableType も使ったことがありますが、WordPress とは違った良さがありますよね。最新の MT はまだ使ったことがないのですが、WP インターフェースに似てるのですね。なんだか WP ユーザーとしては嬉しいです(笑)。
最近は WordPress もユーザーが増えて、以前より検索で事例も見つかるので使いやすいと思います。WP 楽しんでみてください
また何かあればいつでもお気軽にどうぞ! - あびのすけ★ 07-09-29 (土) 12:29
-
はじめまして。
WorldPressユーザーではなく、ppblogというブログを利用しているのですが、こちらの記事を参考にさせていただきました。
ありがとうございました。 - inocco 07-10-02 (火) 8:56
-
>あびのすけ★さん
はじめまして。
同じようなところで困っている方の参考になれて良かったです
ご連絡ありがとうございました!^^ - michan 07-12-09 (日) 19:58
-
はじめまして。
Xreaにwordpress MUをインストールしましたが、やはり画像のアップロードが出来ませんでした。
こちらの記事のようにAddHandler application/x-httpd-phpcgi .php
と.htaccessファイルを作り、wp-adminにアップロードしましたが、
「ディレクトリ /virtual/pmentor/public_html/wp-content/blogs.dir/1/files/ を作成できませんでした。
この親ディレクトリのアクセス権はサーバーによる書き込みを許可していますか ?」
というエラーが出てアップできません。wp-adminのパーミッションは777になっています。出来ましたら解決法をご教示頂けませんでしょうか。 - inocco 07-12-10 (月) 1:12
-
michanさん、はじめまして!
WordPress MU のファイルを見てみましたが、ME 同様に「wp-admin/upload.php」がファイルアップロードに関する PHPファイルのようです。.htaccess には以下のように書いてあるでしょうか?
CODE:-
<files upload.php>
-
AddHandler application/x-httpd-phpcgi .php
-
</files>
また、ファイルのアップロード先はデフォルトでは wp-content/uploads/ の中かと思います。ですので、wp-admin のパーミッションではなく、wp-content/ と、wp-content/uploads/ のパーミッションを確認してみると良いかと思います。
あとは上のほうで洵さんがコメントくださっていますが、.htaccess の文字コードが UTF だったものを Shift_JIS にしたところ上手くいったという例もあるようなので、文字コードも確認してみると良いかもしれません。上手くアップできるようになると良いですね
-
- michan 07-12-10 (月) 11:15
-
早速のご回答ありがとうございます。
.htaccseeファイルは言われるとおり作成して、wp-adminにアップしたのですが、何回やり直しても同じ結果でした・・・
ftpでサーバーの中のファイルを色々見ていて、ようやく原因が分かりました。
なんと・・・、エラーのとき作成された「wp-content/blogs.dir」が残ったままだったのです!これでは何回トライしても、ディレクトリの権限が Apache のままになっていて、「パーミッションが違ってる!」というエラーになっていた訳です。この「blogs.dir」フォルダを削除したところ、無事アップできるようになりました。大変お世話をおかけし申し訳ありません。
本当にありがとうございました。
- inocco 07-12-10 (月) 23:53
-
michan さん、こんばんはー。
無事上手く動くようになったようで良かったです
なるほど、Apache 権限のディレクトリが作られてしまったのを残してあったのでエラーになったんですね。.htaccess ファイルの設置に関するエラーなのかなあと思い、.htaccess のことばかり考えていたのでディレクトリに考えが至っていませんでした。お力になれずスミマセンでした
解決のコメントありがとうございました!
- Time 08-01-07 (月) 0:43
-
初めまして
こちらの記事を参考に.htaccessファイルを作り、アップロードしてみたのですが、新たに
「Warning: Cannot modify header information - headers already sent by (output started at /virtual/time/public_html/blog.timemonarch.jp/wp-config.php:1) in /virtual/time/public_html/blog.timemonarch.jp/wp-includes/pluggable.php on line 391」
というエラーが出るようになってしまいました
解決法ご存知でしたら、教えてください
ちなみに、verは2.3.2日本語版です
よろしくお願いします - inocco 08-01-07 (月) 13:21
-
初めまして、こんにちは。

エラーの内容を調べてみたのですが、どうやらPHPのheader 関数が使えないという意味のエラーのようです。
http://q.hatena.ne.jp/1168608777おそらく、Timeさんのエラーは下記URLのエラーと同様のものだと思うので、このサイトの対処法で解決できるかもしれません。
http://lov.ciao.jp/2007/08/24/wp-troubleshooted/このエラー、何かのはずみでPHPファイルの最初に空欄や文字が入ってしまった場合に起きるようです。
もしPHPファイルを修正したり文字コードを指定したりが苦手なようでしたら、一度WordPress配布先からダウンロードしなおしてアップすると手っ取り早いかなと思います。うまく直ってエラーが消えると良いですね
- Time 08-01-08 (火) 21:30
-
こんばんわ
文字コードを変にかえてたのが原因でした!
わざわざお調べいただき、ありがとうございました
- inocco 08-01-08 (火) 22:12
-
Timeさん、こんばんはー

なるほど、文字コードの関係でエラーになってしまってたのですね。
うまくいったようで良かったです!
- pistachio 08-03-03 (月) 0:25
-
管理人様、情報をありがとうございます!ちょっとmacで手こずったので情報を加えさせていただきます。
.htaccessファイルを作るエディタは「テキストエディタ」では上手く行きませんでした。「mi」を使って文字コードをShift JIS、CR+LF(Win)に設定したら上手く行きました。文字コードの設定が違うとダメなようです。
あとFetchではアップできなかったのでDreamweaverのFTPでアップしました上手く行かない人はやってみて下さい。 - inocco 08-03-06 (木) 15:49
-
pistachioさん、はじめましてー。
有益な情報ありがとうございます
文字コード、改行コードを気をつける必要があるようなので、それに対応したエディタが必要ということですね。mi はフリーですし良いですよね
また、.htaccess のように「 . 」から始まるファイルがアップできない場合はa.htaccess 等、最初に何か英数字を付けてアップした後に FTP でリネームして .htaccess にすることでうまくいくこともあります。
Trackbacks:19
- Listed below are links to weblogs that reference
- XREA で WordPress ファイルアップロード機能を利用する from Numb.
- trackback from fukaecorp 06-10-02 (月) 2:46
-
XREAセーフモード...
により制限を受け画像がアップロードできない場合、特定のファイルのみ.phpを.cgiとして動かす。
AddHandler application/x-httpd-ph (more...)
- trackback from Kemworld::Diary 07-10-04 (木) 1:04
-
[php][pear]XREAでPEARをインストールするの...
携帯サイトを作るにあたり、PEARのNet_UserAgent_Mobileが使いたいなと思い、XREAにPEARをインストールしようとしたところでおおいにハマッタ。 (more...)
- pingback from XREAのセーフモード対策 - WordPress de Blog 07-10-16 (火) 10:02
-
[...] 参考記事 >> PHPをCGIとして動かす方法について XREA で WordPress ファイルアップロード機能を利用する [...]
- pingback from My new WordPress MU Site » 画像投稿テスト 07-12-10 (月) 11:32
-
[...] 写真を投稿してみました。xreaでは、defaultの設定のままではアップロードできず、悪戦苦闘していましたが、inoccoさんのサイトを参考にようやくアップすることが出来ました。 [...]
- pingback from INTERESTIC NEWS » Blog Archive » XREA で ファイルアップロード機能を利用したいんだ。 07-12-12 (水) 22:16
-
[...] なので、以下のような設定を行いました。 XREA で WordPress ファイルアップロード機能を利用する - Numb. 記事主様に感謝です。 [...]
- pingback from INTERESTIC NEWS » Blog Archive » XREA で WordPress ファイルアップロード機能を利用する - Numb. 07-12-12 (水) 22:20
-
[...] XREA で WordPress ファイルアップロード機能を利用する - Numb. [...]
- pingback from XREAでWordPress導入メモ 2 » 二子玉川奥様ハイツ 08-01-24 (木) 14:26
-
[...] 参考URL http://www.graphact.com/memo/2006/08/16/89 [...]
- pingback from Mac.b.p » Blog Archive » Xreaで年別・月別にファイルをアップロードする 08-02-01 (金) 4:00
-
[...] 「年別にフォルダを作成」できても「その中に更にフォルだを作ってアップロードする」ことができないんだそうだ。(詳しくはXREA で WordPress ファイルアップロード機能を利用する - Numb. ) [...]
- pingback from Abi Labo BLOG - Xreaでppblog設置(改) :: WEB,ppblog 08-02-27 (水) 1:42
-
[...] XREAでWorldPressファイルアップロード機能を利用する [...]
- pingback from Abi Labo BLOG - ppblog 08-02-27 (水) 3:11
-
[...] href=”http://crepe.s107.xrea.com/memo/“>思いつきmini</a><a href=”http://www.graphact.com/memo/2006/08/16/89″>XREAでWorldPressファイルアップロード機能を利用する</a>└参照元:<a [...]
- trackback from HAAYA 08-02-28 (木) 11:36
-
XREA+Wordpressで画像アップロードができない時の対策。
XREAにWordpressをインストールして、そこそこ動くことが確認できた後、記事の投稿の時点で画像のアップロードに失敗することはありませんか?これはXREA特有の症状らしく、PHPをCGI... - pingback from Shio-log 08-03-18 (火) 18:37
-
[...] こちらも調べてみると、inocco ( = hibiki )さんのエントリーより、xreaでは、.htaccessファイルの追加が必要だということが判明。 [...]
- trackback from ある日の小さなつぶやき 08-03-29 (土) 18:18
-
WordPressのファイルアップロード(for XREA)
前回、画像をブログ上に貼ってみました。
でも実は少々手こずってしまったんですよね……。
手こずったのはファイルのアップロード。
WordPressにはファイルのアップロード機能が
デフ... - pingback from kkrr» ブログアーカイブ » WordPress日本語版をXREAにインストール 08-03-29 (土) 18:33
-
[...] ードするには 特殊なサーバーのようで普通にアップロードすると失敗してしまいます。 以下サイトを参考に.htaccessを追加しました。 XREA で WordPress ファイルアップロード機能を利用する [...]
- pingback from XREA に設置した WordPress で画像のアップロードができない | Sun Limited Mt. 08-04-01 (火) 10:44
-
[...] WordPress Japan :: トピックを表示 - XREAでファイルアップロードが出来ない XREA で WordPress ファイルアップロード機能を利用する - Numb. PHPをCGIとして動かす方法について - XREA&CORE SUPPORT [...]
- pingback from » 画像のアップロード: WordPress Test 08-04-03 (木) 6:52
-
[...] ント表示されファイルアップロードが出来ません。 ググってみると XREA で WordPress ファイルアップロード機能を利用する」 が引っかかってきました。これを参考に 「XREA SUPPORT BOARD - PHPをC [...]
- pingback from » 画像アップロード: WordPress日本語2.5を使ってみる! 08-04-10 (木) 12:03
-
[...] ググってみると XREA で WordPress ファイルアップロード機能を利用する」 が引っかかってきました。これを参考に 「XREA SUPPORT BOARD - PHPをCGIとして動かす方法について」の記述がありました [...]
- pingback from xreaのWordPressで画像をアップロードするには | WordPress FAN 08-04-14 (月) 0:41
-
[...] がなくても動くんじゃん…。 まあ、何かのときのためにメモしておきます。 http://www.graphact.com/memo/2006/08/16/89 こちらを参考にさせていただきました。ありがとうございました。 Posted in [...]
- pingback from XREAのセーフモード対策 - : WordPress日本語2.5 memo 08-05-09 (金) 8:36
-
[...] XREA で WordPress ファイルアップロード機能を利用する PHPをCGIとして動かす方法について XREAのセーフモード対策 [...]
