WordPressのHTTPエラー問題
WordpressのHTTPエラー問題。メディアファイルをUpLoadしようとするとHTTPエラーを出して失敗します。プラグインの相性の場合もあれば、パーミッションの問題のことも、コードを追加することで動作を変えて対処できる場合もあります。多くの場合、環境依存的なトラブルで原因が千差万別なため、これはという標準的な解決策がありません。
そのため解決が難しいトラブルの一つとなっているようですが、つまりファイルの転送でトラブルが起きているわけなので、原因は恐らくPHPまたはwebサーバの設定にあります。まずは「ブラウザー付属のアップローダー」を使用してアップロードしてみて下さい。Wordpressのアップローダーではなく、「ファイルを選択」して一つづつアップロードするあれです。
このとき、サーバーがエラーを返すようでしたらWEBサーバーの設定に問題があるかもしれません。
nginxでしたら「413 Request Entity Too Large」を返します。この場合はnginxのserver設定で client_max_body_size を指定してnginxを再起動してみて下さい。デフォルトのままだと大きめのjpgファイルですら「大きすぎる」と拒否します。
PHPの設定を疑って post_max_size や upload_max_filesize は100Mもあるのになぜ???な状態に陥りやすいですが、100MのファイルをアップロードするならPHPだけでなくnginxの方も client_max_body_size 100M; としなければなりません。もちろん、nginxの方を100Mにしたならphp.iniのpost_max_sizeとupload_max_filesizeもそれにあわせて設定する必要があります。
つまりHTTPエラーか出たり出なかったりするのは、アップロードしようとしているファイルのサイズが原因しているのかも知れないわけです。nginxのデフォルトの設定ではサイズの上限が 1M ですから、1M以下の画像はアップロードできますが、それを超える画像だとHTTPエラーを返す、ということになります。