Help us understand the problem. What is going on with this article?

WordpressのメディアライブラリでHTTPエラーの原因は意外な場所にあった

More than 3 years have passed since last update.

原因はパーミッションだったけど意外な場所のパーミッションだった話

メディアライブラリから画像をアップロードすると 10KB以下のファイルはできるのに、それ以上のファイルは全て「HTTPエラー」が表示されてしまいました。

「メディアライブラリ HTTPエラー」で検索すると皆さん苦労されているので情報はたくさんあったのですが、どれも自分の事例には当てはまらなかったのでメモしておきます。

環境

  • OSX El Capitan
  • Nginx 1.8.0
  • PHP 5.6.14
  • Wordpress 4.3.1

試してみたこと

ファイルサイズが 0byte になっていないか

プラグイン、パーミッション、php.ini

全てのプラグインを無効にし、
wp-content/upload/のパーミッションを確認し、
php.ini でメモリやファイルサイズ上限をあげましたがダメでした。

Nginxのアップロード上限を増やす

Wordpressのメモリ上限を増やす

How to Fix HTTP Error When Uploading Images?
wp-config.php に define('WP_MEMORY_LIMIT', '64MB'); を追加してみましたがダメでした。

意外(?)な場所のパーミッションが原因だった

他の事例をあてにするのは諦めて、素直にNginxのログを見てみることにしました(最初からそうしろ)。
すると下記のようなエラーが検出されていました。

2015/11/16 10:05:54 [crit] 1191#0: *231 open() "/usr/local/var/run/nginx/client_body_temp/0000000027" failed (13: Permission denied), client: 127.0.0.1, server: localhost, request: "POST /xxx/system/wp-admin/async-upload.php HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/xxx/system/wp-admin/upload.php"

問題となるのはここです。

/usr/local/var/run/nginx/client_body_temp/0000000027" failed (13: Permission denied)

Nginxがファイルアップロードを受け入れる時の一時的な保管場所だと思うのですが、ここをパーミッション 777 にしたら問題なくアップ出来るようになりました。

El Capitanで権限関係が厳しくなったらしいですが、その辺が原因でしょうか?

sygnas
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした