【Xサーバー】wordpress 画像アップでhttpエラーはサイズの問題?本当の原因と対処法

先日、ブログの記事を更新しようとして画像をアップしていたら「httpエラー」という表示がでて、アップロードすることができませんでした。

数回やり直しても、いったんログアウトして、再度ログインして試してもダメ。

試行錯誤ののちなんとかアップロードできたので備忘録として解決策を記録しておきます。

wordpressのhttpエラーは画像 サイズの問題ではなかった!

画像をアップして失敗した当初は、「画像のサイズが大きすぎたのかな?」と思いました。

実際のファイルサイズは

ファイルサイズ: 186 KB
サイズ: 1365 × 1024 
特に大きすぎるというほどでもありません。

実際にこれより大きなサイズのファイルを何度もアップしたことがありましたが、特に問題も起きていませんでした。

私は、先月から今月にかけて、Xサーバーへの引っ越しとSSL化をしました。

それが直接の原因とは思えませんが、機能の一部が変更されたバグなのかなぁとも思い、同様のケースをリサーチしてみました。

WordPress HTTPエラーを引き起こしているものは?

ネットを調べてみるとやはり同様のエラーに関する記事がいくつもありました。

ただ、WordPressのバージョンによって引き起こされるバグとかプラグインが原因とか、複数の可能性があるようです。

ですので、私はひとつの解決策を試してみたけれど、当てはまらないので次の解決策をチェック・・・というやり方で何とかエラーを起こさずに画像をアップロードすることができました。

以下、それらの「原因」を挙げておきます。

  • EWWW Image Optimizerなどのプラグインのバグ
  • アップロード時の時間設定

EWWW Image Optimizerなどのプラグインのバグ

プラグインがHTTPエラーの原因ではないか?という記事がいくつか見られました。

一般的に言って、プラグインが原因でエラーが起こるケースは結構ありますから、プラグイン原因説は十分あり得ますね。

ただ、調べてみると、私はこの「EWWW Image Optimizer」をブログにインストールしていませんでした。

また、このブログで使っているプラグインは他のブログでも使っていますし、今のところ他のブログでエラーは出ていないので、プラグインが原因とは思えませんでした。

アップロード時の時間設定/class-wp-image-editor-imagick.php

メディアから再度画像をアップロードしてみたところ、エラーの原因がわかりました!

以下のような表示が現れたからです。

エラーの内容
Fatal error: Maximum execution time of 30 seconds exceeded in/home/■■■■■/successcharging.net/public_html/wp-indludes/class-wp-image-editor-imagick.php on line 342

まぁ、要するに、アップロード時の時間が30秒越えちゃったのでエラーが出ていますよ、ってことですよね?

どうやら、原因は「class-wp-image-editor-imagick.php」にあるようです。

じゃ、どうやって解決すればいいのか?

調べてみると、これまた複数の異なったやり方が紹介されていました。私は取りあえずこちらに紹介したやり方でサクッと解決してしまったので、それ以外の方法は試していません。

解決策:php.ini設定のmax_execution_timeを変更する

サーバーパネルから「php>php.ini設定」を選択する。

「ドメイン選択画面」が表示されるので、修正するドメインを選択する。

「php.in設定変更」を選択。

「php.in設定」に変わったら、画面を下にスクロール。

「その他の設定>max_execution_time」の30を60に変更する。

「設定する(確認)」をクリック。

「php.inの編集が完了しました。」という文章が表示されたら設定完了です!

以上、こちらの設定を完了してから取りあえずエラーは発生していません。

しばらく様子を見ておこうと思います。

ABOUTこの記事をかいた人

東京都出身、茨城県在住のアラフィフ主婦です。夫婦で1枚5円のチラシをポスト投函するというドン底生活をネットビジネスで逆転!2014年にはブログ&メルマガで月収100万を突破。ノウハウコレクターだった私がなぜネットで生計を立てられるようになったのか?興味のある方はメールマガジンにご登録ください^^【豪華プレゼント】も差し上げています。