ホーム > WordPress > WordPressでファイルがアップロードできない場合の対策

WordPressでファイルがアップロードできない場合の対策

WordPressで画像ファイルがアップロード出来ないという問題にぶち当たりました。

どうやらXREAやコアサーバーを利用している場合、PHPはモジュール版でセーフモードが有効という仕様になっているらしく、このせいでWordPressのアップローダーが上手く機能してくれないという問題が発生するようです。

解決方法はWordPressのフォーラムにあったので、リンク貼っておしまいでもいいのですが、私なりに少し解説をします。
WordPressのアップローダーを用いて画像ファイルをアップした場合、その保存先ディレクトリは以下の場所になります。

/wordpress/wp-content/uploads


しかし、uploadsディレクトリは初期状態では存在しないため、WordPressのアップローダーが初回起動されたとき(画像ファイルをアップロードしようとしたとき)に自動で作成されます。


で、まず第一のエラーがこの段階で発生するのです。


「uploadsディレクトリに画像ファイルをアップできない」「uploadsディレクトリをそもそも作れない」とWordPressが文句を言ってくるのです。ただ、この理由は簡単で「wp-contentディレクトリ」のパーミッションがデフォルトで755となっているため権限不足でディレクトリが作成できないだけなのです。

よってこの件は、FTPクライアントソフトを使ってパーミッションを757に変更すればOK!
(パーミッションの変更方法については後で解説します)


これで、再びWordPressのアップローダーを使って画像ファイルをアップロードしようとすると、uploadsディレクトリの作成は成功するのですが、今度は「uploadsディレクトリに移動できねーよ!」とWordPressが文句を言ってくるのです。



これが第二のエラーで、XREAやコアサーバーを利用している場合に特有なエラーです。


PHPがセーフモードで運用されていることが原因らしく、この問題を解決するための方法はWordPressフォーラムにありました。

画像のアップロードが出来ない(WordPressフォーラム)

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>


上のように記述した.htaccessファイルを/wordpress/wp-adminディレクトリにアップロードすれば解決です。


以上が私がエラーに激突し、問題解決へ至った道筋でした。



しかし、あらかじめエラーが発生することが分かっているのであれば、なにも上記の工程をトレースする必要はありません。以下の手順でエラーそのものを回避しましょう。


①まず、初期状態ではuploadsディレクトリが存在しませんのでFTPクライアントソフトを使って/wordpress/wp-content/にuploadsディレクトリを作成してください。


②次に、uploadsディレクトリのパーミッションを変更します。WordPressのアップローダーからuploadsディレクトリに画像ファイルを保存できるようにパーミッションを757に変更してください。


FTPクライアントに「FFFTP」を利用している場合は、以下のようにuploadsディレクトリを右クリックして「属性変更」を選択すればパーミッションの変更が可能になります。

wp-upload-error1.png


チェックボックスを以下のようにすれば、パーミッションは757となります。

wp-upload-error2.png


③XREAやコアサーバーを利用している場合は以下の内容を記述した「.htaccessファイル」を作成します。このファイルは拡張子を付けてはいけません。


<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>




④作成した「.htaccessファイル」を/wordpress/wp-adminディレクトリにアップロードしてください。


以上で完了です。
[ 2010/07/27 ] WordPress |