【HTTPエラーの原因】WordPressで画像をアップロード時に起こるエラーの2つの解決方法

当サイトのリンクには広告が含まれています。

画像をアップロードしようとしたら「HTTPエラー」と表示されて、アップロードできない….
どうすればいいんだろう?

WordPressで画像をアップロードしたときに「HTTPエラー」と表示されるエラーの原因と解決法について解説していきます。

アップロード画像によって「HTTPエラー」が出たり出なかったりして、いまいち原因が分からないですよね。

先に結論を言うと、この「HTTPエラー」が表示される原因は「画像のアップロードにかかる時間が長すぎるから」。
記事内では詳しい原因と解決方法を説明していきますね。

「HTTPエラー」が出て、画像のアップロードができなくて困っている人は参考にしてください。

目次

HTTPエラーの原因は画像のアップロード処理限時間越え

画像をアップロードした時に起こるHTTPエラー。
記事投稿のページだとただ単に「HTTPエラー」とだけ表示されるので、何のことか分かりにくいですよね。

ダッシュボードの「メディア」の「新規追加」から画像をアップロードすると、詳しいエラーの原因が表示されます。

そこを見ると、「Fatal error: Maximum execution time of 30 seconds exceeded in /○○(問題があるファイルの場所)」と表示されています。

このエラーは問題が起きているファイルの場所が問題なのではなく、

「Fatal error:Maximum execution time of 30 seconds exceeded」

という箇所が重要です。

日本語に訳すと「致命的なエラー:最大実行時間である30秒を超えています」となります。

この30秒とはアップロードの処理の制限時間で、この場合だと「設定されていた30秒を超えたために処理が止まり、HTTPエラーになった」ということになります。

HTTPエラーが起こるのは無限ループ対策のため

なんで、こんな制限があるのかというと、PHPのミスコードによる無限ループ対策のためです。

この制限がないと、ずっと処理をし続ける無限ループが起こってしまった時に、永遠に処理を続けてサーバーに負荷がかかり続けてしまいます。

そのような無限ループをを避けるために事前にPHPの処理の制限時間を設定しているのです。

実際にHTTPエラーが出ている人であっても、画像サイズが小さいものをアップしてみるとエラーは起こらないと思います。

これは、画像サイズが小さいので、負荷が小さく、制限時間内にアップロードの処理が完了するからです。

画像アップロード時のHTTPエラー解決方法

HTTPエラーの原因が「アップロードの処理時間を超えてしまったから」ということは分かったと思います。

なので、HTTPエラー解決方法の方法は以下の2つです。

基本的に1つ目のアップロードの制限時間を長くするだけで解決しますが、両方やることをおすすめします。

アップロードの制限時間を長くする(php.iniの値を大きくする)

まず「アップロードの制限時間を長くする方法」から説明します。

処理時間を変更するには、WordPressをインストールしているサーバーの「php.ini」というファイルを変更する必要があります。

ただし、php.iniのファイルは非常に重要なファイルのため、PHPのコードを良く知らない人は、他のコードを誤って消してしまったりするリスクも。

そのため、基本的にレンタルサーバー側で簡単に設定できるようになっています。
今回はエックスサーバーの画面を使って、説明していきます。

この記事では、エックスサーバーの場合を説明しますが、他のサーバーでも「php.ini」を変更できるようになっていると思います。

まず、エックスサーバーのサーバーパネルにログインします。

中央下部の「php.ini設定」に進みましょう。

設定対象ドメインを選択していない場合は、「ドメイン選択画面」が表示されるので、変更するドメインを選択します。

ここからは「php.ini設定変更」と「php.ini直接編集」という2つのページを切り替えることができるようになり、どちらからでも変更することができます。

この記事ではどちらも紹介しますが、ミスしにくいという理由から、最初に紹介する「php.ini設定変更」から数値を変更することをオススメします。

「php.ini設定変更」から数値を変更する

「php.ini設定変更」に進み、「max_execution_time」の箇所を数値を変更します。

初期設定では「30」になっているので、これより数値を大きくしましょう。(「30」は30秒のことです)

ただ、数字が大きすぎればいいというものではありません。
数字が大きければ、それだけ処理にかかる時間の上限が大きくなります。

圧縮をせずに高画質な画像を日常的にアップロードする人は「120」などと数値を大きくした方がいいと思いますが、ほとんどの人は、初期設定の倍である「60」へ変更するだけで充分です。

「php.ini直接編集」から数値を変更する

php.ini設定変更の横にある「php.ini直接編集」という場所からでも、数値を変更することができます。

こちらも「max_execution_time」と書かれている数値を変更します。

max_execution_time = 60

このように数値を変えることで、上限を変えることができます。

書き換える時に、他のコードを消さないように気をつけましょう。

数値は「0」にしないようにしよう

max_execution_timeの数値を「0」にすると、制限時間が無制限となります。

万が一無限ループが発生してしまうと、永久に処理し続けることになり、サーバーに高負荷がかかるので「0」と設定しないようにしましょう。

画像サイズを小さくしてアップロード時間を短くする

つづいて2つ目の方法、アップロードにかかる時間が長すぎるのであれば、できるだけ短くしてしまおうという方法です。

1つ目の方法だけで解決しますが、こちらもやることでHTTPエラーの解決だけでなく、表示速度の改善にもなります。

やることは、WordPressに画像をアップロードする前に、画像圧縮ツールを使ってファイルサイズを小さくするだけ。

「JPEGmini」が有名ですが、個人的には無料で使える画像圧縮ツールの「Image Optim」がおすすめです(MACユーザーのみ)。

また、PNG形式の画像ファイルは重たいので、背景が透明じゃないといけない画像以外はPNGからJPEG形式に変換しましょう。

JPEGに変換するだけで、かなり画像サイズは小さくなります。

HTTPエラーの原因と対処方法まとめ

HTTPエラーはアップロードにかかる制限時間を超えたために起こるエラーで、今回はその上限を上げることによって解決しました。

この設定は一度変更すれば、ずっとそのままなので、サクッと変更しちゃいましょう。

そして、日頃から画像サイズは小さくしてアップロードするようにしましょう。

あわせて読みたい
【WordPressの勉強方法】初心者から稼げるレベルまでになろう WordPressを勉強してみたいけど、どうやって勉強すればいいのかな?勉強してお金を稼げるようになりたいなぁ。 この記事ではWordPressの勉強方法について解説していきま...
あわせて読みたい
ブログアフィリエイトするなら登録必須のおすすめASP9選【2023年版】 ASPはたくさんあるけど、どのASPに登録すればいいんだろう? この記事では、ブログで稼ぐために登録しておきたいASPを9つ紹介します。 9つ紹介しますが、できれば、全部...
あわせて読みたい
WordPressブログ運営に役立つツールまとめ【無料・有料】 この記事では、WordPressブログ運営に役立つツールを紹介していきます。 有料のものもありますが、ほとんどのものは無料で使えるので、ぜひ使ってみてください。 大きく...
あわせて読みたい
【2022年版】Amazonギフト券のチャージ式(Amazonチャージ)の2つのキャンペーン【ポイントを受け取るまで... Amazonギフト券のキャンペーンが開催中らしいけど、どんなものなのかな?利用できるのであれば、使ってみたい! このような疑問をお持ちの方に、現在Amazonギフト券のチ...
記事の共有・保存はこちら
  • URLをコピーしました!
目次