WordPressでサイトを運用していると、一度は直面する問題の「画像アップがHTTPエラーでできない!」問題です。
この問題はいろんなサイトでも取り上げられていますが、なかなか解決しにくく、急に起きることで有名です。(一部では)
みたいなことを考えていましたら、このサイトでも起こりましたので、解決した時の方法について記載していきます。
目次
WordPress(ワードプレス)の画像アップロードがHTTPエラーでできない

WordPressの画像アップロードがHTTPエラーで出来ない!といった瞬間は本当に突然やってきます。
しかも、大体急いでいる時なんですよね。こういうのが起こるときって。
というより、サイトをいじっている時というのは、そもそも「目的があって」やってるので、ゆったり「あ、エラーが出た、あはは」なんてやってられないんです。
このエラーが起こる時というのは大体…
- 「さっきまで普通にアップロードできてた画像と同じサイズなのに!」
- 「WordPressファイルを何もいじってないのに!」
- 「昨日まで普通に動いてただろお前!」
- 「これ今日中に納品しないといけないのに!」
みたいな、急いでいるときに限って起こります。
さらに、このエラーは原因が特定しにくいので、解決に至るまでに試行錯誤するハメになるという面倒なエラーです!
ただ、このエラーがこのサイトでも起こったんですよね。下の記事を更新している途中に。

画像アップロードのHTTPエラーの内容を特定する主な方法
まず、こういうエラーが起こった時はエラーの原因を特定するのがセオリーです。
原因が特定できれば、どの解決策を取れば治るのかがすぐに分かるからです。もちろんこれは、原因が特定できればの話です。
とはいっても、ほとんどの人は原因を特定せずに、ゴリゴリと解決策を試していくでしょう。
正直、僕もそれが良いと思います。なぜでしょうか?理由を説明します。
原因を特定するためにやることも大変
まず、原因を特定するためにやる一番の方法は
[メディア]→[新規追加]からアップロードをしてみる!
これです。なぜかというと、この方法によって、PHPエラーが出力されることがあるからです。
例えば、このアップロードできない問題を引き起こすものでPHPの「max_execution_time」というものがあります。これは、出力されればすぐに原因だと分かります。
それでも特定できない場合はある

それでもわからない時はあります。上の画像は実際にこのサイトで起こった事案です。気分は最悪です。
100%になったまま止まってしまい、このまま5分くらい待ってみましたが変わらず100%でした。でも、メディアに入っているデータは残骸のようなデータです。100%の意味ってなんなんでしょうか。
こういう場合、エラーログなどを取ったり、WordPressのコアファイルにデバッグ用の関数を入れるのが原因特定方法としては正しいのですが、PHPに詳しくないと厳しいです。
正直な所PHPに詳しくても、後々「全て書いたプログラムを回収しないといけない」+「無駄なログデータが増えてサーバー容量を圧迫する」といったことを考えるとやりたくないです!
だったら、管理画面でできることで全て試してしまうほうがいいかもしれません。
今回このサイトが治った方法
数ある対策方法はあとでまとめて紹介するとして、2018年10月31日時点、WordPressバージョン4.8の当サイトが解決した方法はこれでした。
php.iniの「max_execution_time」を30(秒)から60(秒)に変更
これだけで治りました。本当です。
ですが、ここでかなり重要なことを言っておきます。それは、当サイトで実際に起こった「解決を早めるためのポイント」です。
「さっきまで出来ていたから、この修正方法は意味がない!」などの思い込みを捨てること
正直、エラーが起きる前も画像のアップロードはチマチマできていました。たまにエラーも出てましたけど。
何より、エラーが出るまでに30秒を要しなかったので、他の理由でエラーを吐いているんだと思いこんでいたんですね。
本来はこのまま原因が本当にあっていたのかを追求すべきなのでしょうが、このサイトではそこまでする必要もないと思ったので解決したからOKという着地にしておきます。
HTTPエラーを消すための主な対策方法の紹介
他にもHTTPエラーを治すための対策方法はいくつかあります。もしかしたら、WordPressのバージョンなどで他の問題でぶち当たる可能性があるので、他の方の情報を参考に貼っておきますね。
- WordPressファイルに問題があった系
- WordPressの設定に問題があった
- ファイルパーミッションの問題
- プラグインが原因
などなど、いくつか紹介してみました。とりあえず、片っ端から試すといいのではないでしょうか。
functions.phpへの追記や、プラグインの有効化・停止などは、管理画面から行いやすい動作のため、そういったものから優先してみてもいいでしょう。
エラーが治った後の処理
エラーが治ったあとの処理ですが、アップロードに失敗した画像データの残骸が残っていることがあります。
[メディア]から、「一括選択」をクリックし、不要な画像データを全て選択して削除が可能です。
こうして、残骸データを消しておくと、無駄なファイル容量も使わないのでいいでしょう。
