今までも時々、画像をアップする時にhttpエラーと出てアップロードができないことがありました。これは画像データ量の問題かなー……と思っており、その時使いたい!と思った画像を泣く泣く諦めていたりしたのですが、今回旅行の写真を上げようとしたところ、怖れていた通りhttpエラーが。
これは諦めるという方法は使えません。だって旅と風と日々のブログは旅ブログで、これから旅日記を書いて行くんだもん!
最終的には旅行の全写真をリサイズするという方法も、圧縮するという方法もあるだろうけれども、そのやり方を探して試すのも一苦労だし、その前に出来ること&確認することはないだろうか?と探してみることにしました。
そしたらね。画像をアップする時に、わたしはいつも投稿画面の「メディアを追加」からアップしているのですが、左側のダッシュボード→メディア→新規追加を選ぶとhttpエラーの原因がわかるかもしれないそうです。調べてみましょう。
Maximum execution time of 30 seconds exceeded inなるもの。
上記のことを試してみたら、
Fatal error:Maximum execution time of 30 seconds exceeded in~(以下このサイトの情報)と書いてありました。
最大実行時間が30秒を超えました、だそうです。←Google翻訳先生。
いや~~~。でも30秒とかかかってるわけじゃないんだけどね?予想時間が30秒を超えるってことかね?ログインしてから30秒経過とか?……素人なりにいろいろぐだぐだ考えて、一度ログアウトして入りなおしてみたんだけど、httpエラーは変わらず。
これはとりあえず……30秒というところを増やすと解決するらしい。コワイけどやってみましょう。
エックスサーバーを使ってる人は管理画面で出来ますよ。
今回はさとぽんさんのME・HERブログを参考にしました。ありがとうございます。
わたしはエックスサーバーを使っているので、このexecution timeはエックスサーバーの管理画面で変更できるらしい。管理画面はアクセス解析をたまに見に行くから、見覚えがあるよ。こわくないよ。
管理画面に全然行ったことのない人のために、
エックスサーバーのトップ画面→右側にいくつかあるボタンのうち「サーバー管理」
です。ここでサーバーパネルというページになって、アカウントだのメールだのドメインだの、色々な設定が出来るページになります。その下の方にphp.in設定というところがあります。
その中の、さらに下の方にある、max_execution_time、デフォルトだと30になっているはずなので、ここを60にしてみます。いろいろなページを見ましたが、変更するのは60、100、120という数字のうちで任意でいいらしい。もっと延ばすことも出来ますし、なんだったら無制限にすることも出来るそうなのですが、制限をかけているのは理由があることのようなので、あまり極端に大きい数字にしちゃうとまずいっぽい。
でも、ちょっと注意点が。数あるページの中の1つか2つのサイトなのですが、
「なるべくレンタルサーバー側の数字は触らない方がいい」
「やろうとして(失敗して)WordPressの中身を消してしまった!」
と書いてあるものもあったので、ビビりました。念のためバックアップをとって(←今まで復元を試してみたことがないから完全に気休めでしかない)心の中で柏手を打ちながら、震える手で30から60に。祈る思いで「変更」してみました。
……ほっ。中身は消えてない。そして画像のアップロードも……出来た!うれしい!
httpエラーは多様な原因、解決法があるようです。
わたしは今回、Maximum execution time of 30 seconds exceeded in という原因でアップロードが出来なくなっていたようですが、ありがちなわりには原因も多種多様で、なかなか難しいもののようです。嫌ですねえ……。
調べる過程で出て来た他の対処法としては、
〇jpegからbmpへ変える
〇リサイズする
〇プラグインと関係がないか確かめる
ということもあるので、コワかったけどシンプルなエックスサーバー管理画面での変更で済んで良かったです。今後もいろいろあるでしょうが……がんばれ、自分。みなさんも一緒にがんばりましょう。