私はワードプレスを使ってサイトを運営しています。
前回の記事を書いている時に「HTTPエラー」が出て画像アップロードができなくなってしまいました。
色々試しても全然直らず本当に困っていたのですが、何故か直りました。
目次
HTTPエラーで画像アップロードができない
今回起こったエラーは、ワードプレス投稿画面の「メディアを追加」ボタンで画像を追加している時に起こりました。
自分で撮った写真をアップロードしようとしたところ、4枚(それぞれファイルサイズ3~6MBくらい)はアップロード出来たのですが5枚目(ファイルサイズ2.6MB)でHTTPエラーが発生し失敗しました。
コレたまにある現象だったんですけど、今まではページをリロードすれば解決していたので再読込してみるも、今回は何故かそれでは直らず。
何度やってもHTTPエラーとなります。
エラーが出た後は、ページの再読込も管理画面にアクセスすることもエラーが出てしばらくできなくなったんです。
「メディアを追加」ボタンを使わずに、メディアライブラリからのアップロードも試したが同じくHTTPエラー。
直前にアップロードした写真も再度試してみましたが、何故かそれもHTTPエラーが出てアップロードに失敗するようになりました。
さらに、こちらのサイトでエラーが発生した後、同じサーバー内で運営している他のサイトでも試したところ、そちらでもHTTPエラーが出てアップロードできなくなってしまいました。
画像も多用するサイトのため、画像が使えなくなるのは個人的には死活問題です。
なので、なんとかして解決しようと必死。
エラーを検証
エラーが起こる原因を突き止めようと検証。
アップロードの進行具合は100%終わっているのに完了しません。
そしてさらに検証して分かったのが、ネット上から取り込んだ画像(スクリーンショットやダウンロードした画像、数KBのもの)はアップロードできるんだけど、自分でスマホで撮った写真のアップロードが失敗します。
これにより、画像のファイルサイズが原因なのか?と思いました。
解決方法を色々調べて試す
その後、ネットで調べた対策を自分で行いました。以下がその対策です。
PCの再起動。
ブラウザを変更してみる。
画像ファイルのファイル名を変更する。
画像ファイルの拡張子を変更する。
プラグインを全て停止。
WordPressのバージョンを最新にする。
「cPanel」の「MultiPHP INI editor」からPHPのメモリ制限を増やす。(max_execution_time、max_input_time、memory_limit、post_max_size、upload_max_filesizeを増やしました)
マルチファイルアップローダーではなくブラウザーアップローダーを使う。
WordPressテーマのfunction.phpに以下のコードを追加記入。
add_filter( 'wp_image_editors', 'change_graphic_lib' );
function change_graphic_lib($array) {
return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}
- mod_securityを無効にする。
これらを全て試しましたが解決には至らず。
もう本当に困り果てましたね。
何故か解決
自分で調べられる範囲のことは全て試した上でエラーが直せなかったので、どうしようかと悩んだ結果、吹っ切れることにしました!(全く解決になっていない)
だって、どうしようもないならこれ以上時間を取っても無駄だし・・・
元々かなりの楽観的な人間なので、「そのうちどうにかなるよね!」と何の根拠もないのに前向きに考え、「しばらくの間、画像を使わない記事を書く」ことを決めた私。
そうしてエラーが起こった2日後、何故か突然何の前触れもなく直りました!
エラーが起こった翌日に試した時には同様にエラーとなっていたのが、その日はすんなりといつも通り画像のアップロード成功。
その後は普通に使えています。ちなみに同じサーバー内で運営しているもう1つのサイトでも直っています。
とりあえず様子を見てみるのもいいのかも
後々調べて分かったんですが、今回のHTTPエラーってワードプレスでよくあるエラーらしいですね。
ですが、私のように何を試してもダメだった人がある日いきなり直ることもよくあるようです。
Twitterなどでも「何故か突然直った!」と言っている人もいたし。
そこで、何の解決方法も見いだせなかった私が言うのは恐縮ですが、「あまり落ち込まずにとりあえずしばらく様子を見て、それまでの間は画像を使わない記事を書いてみる」のはいかがでしょうか?
けれども、またいつか再発するかも分からないので、原因をはっきりと特定し解決方法を発見してくれる偉人が表れることを期待しています。(他力本願ですみません)