WordPressで画像をアップするとHTTPエラーが発生するときの対処法

WordPress で HTTPエラーが発生するとき

どうも、スマコマのコマ太郎です。元気もりもり

WordPress に画像(メディアファイル)をアップロードしようとして、HTTPエラーになったことありませんか?

ぼくはいろんなサーバーを借りて、たくさんの WordPress を使っています。そのため、このHTTPエラーにちょこちょこ遭遇してます。

HTTPエラーの例

HTTPエラー

HTTPエラーが発生するのは、いくつかパターンがあるのですが、その中でもよくあるものに絞って記事にしてみようと思います。

HTTPエラーの対処法

ブラウザのセッションが切れた

WordPress で記事を書いていて、書き続けていれば問題ないのですが、投稿画面をひらっきぱなしで席を外し、戻って来てからメディアファイルをアップロードしようとすると出るパターンです。

これはブラウザのセッションが切れたことが原因で、解決策は簡単です。

下書きとして保存ボタン

下書きとして保存

投稿画面にある [下書きとして保存]ボタンを押してください。これでセッションが回復します。なお公開済みの記事の場合、[下書きとして保存]ボタンがありませんので、[公開]ボタンを押すか編集画面を開き直してください。

メディアファイルが大きすぎる

アップロードしようとしているメディアファイル(画像)が大きすぎても、HTTPエラーが発生することがあります。

フリーの画像サイト(特に海外)からダウンロードしたファイルを、そのままアップロードしようとすると起きやすいですね。

海外の画像は、高解像度のものがフリーで配布されています。画像サイズがとにかく大きいです。

高解像度の画像ファイル

海外の画像ファイルは高解像度が多い

ファイルサイズがメガバイトクラスだと、引っかかりやすいですね。ウェブの記事で使う画像は適度にサイズを落としてアップしてあげる必要があります。

大きいサイズでも200KB以下が望ましいかなと個人的には思っています。

HTTPエラーがあることで大きすぎる画像ファイルを誤ってアップロードしてしまうこともないので、この点では有り難いですね。

PHPの設定が原因

これもよくあるパターンの1つで、PHPの設定が原因で起きることがあります。個人的な肌感覚として、なぜかエックスサーバーでよく起きますね。

この場合、PHP の設定にある max_execution_time の値を大きくすることで、HTTPエラーを回避できます。

max_execution_time は、実行時間の最大時間で、単位は秒です。

多くのレンタルサーバーでここが30(秒)になっていますね。なのに、なぜかエックスサーバーでHTTPエラーが起きやすいのが謎です^^

PHP の設定は、PHP.ini を編集することで可能で、最近のレンタルサーバーではレンタルサーバーの管理画面で変更することができます。

エックスサーバーの管理画面

エックスサーバーの管理画面

ここではエックスサーバーを例に操作方法を紹介しておきます。

まずエックスサーバーの管理画面にログインしてください。メニューにある [php.ini設定] をクリックします。(場所は上記画像を参照)

続いて設定を変更するドメインを選択してください。

PHP.ini を編集する

PHP.ini を編集する

PHP.ini を編集する画面になったら編集画面を下にスクロールしてください。下方に [max_execution_time] の設定箇所があります。初期値は、30 になっていますので、この値を大きくします。

単位は秒。あまり大きくし過ぎるのもよくありませんので、60 から 100 くらいにするといいでしょう。ぼくは 100 にしてます。

WordPressでHTTPエラーが発生したときのまとめ

この記事では、よくあるパターンとして3つご紹介しましたが、そのほか、プラグインの影響で起きることがあります。

まあ、ほぼ上記3つで直るはずですから、まずは上記3つを確認してください。

それでもダメなときはプラグインを疑うことになります。プラグインの問題は、一旦、すべて無効化し、どのプラグインが問題を起こしているかをチェックし、問題のプラグインを特定します。

プラグインの特定方法は、こちらの記事に書いてありますので必要であればご覧ください。

あわせて読みたい記事
問題を切り分ける
どうも、スマコマのコマ太郎です。 WordPress のプラグインを使ってサイトを作っていると、たまに思ったように機能しないときがあります...

 コメント/質問、お気軽にどうぞ。

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

SQL STATE エラーで動かない

Search Replace DB V3.1 でSQLSTATE [2054] ...

サイトアドレスを変更したらWPにログインできなくなった

WordPressのサイトアドレス変更後からログインできないときの対処法

ボタンが機能しないのでCSSで消した

SiteOrigin Post Carousel のボタンが機能しないぞ

問題を切り分ける

プラグインが機能しない!そんなときは問題を切り分けることから始める

search regex でエラーが発生

WordPress がプラグイン Search Regex でエラーを捉えました...

SSL化したのにアドレスバーに「保護されてない通信」と表示される

SSL化したのにアドレスバーに「保護されてない通信」と表示される問題