Word Press を利用していて、HTTPエラーに苦しんでいる人いませんか?
「この画像さえアップロードしたら、記事を公開できるのに…(ꐦ°д°)」
「さっきまでは画像をアップロードできていたのに、なぜ今꒰・ัε・ั ꒱⁈」
Googleで検索すると、結構多数の人達がこんな同じ問題に苦しんでいるもよう。
私もそんな一人。
HTTPエラーを吐き出されてから、解決まで費やした時間があまりにも不毛だったので、私がたどり着いた解決策と試してみた策を備忘録として残しておきます。
毎回、数時間〜半日は費やしましたからね…あなたにはそうなってほしくない!万人の解決策ではないかもしれないけれど、この記事があなたのお役に立てれば万々歳。
HTTPエラー状況とWordPressやサーバーについて
まず、私に起きたHTTP エラーにまつわるIT環境をお伝えしておきます。
実は、かれこれ3度も降りかかってきたHTTPエラー。
その内、2度はiPhone で撮った写真をアップロードできないという同じ事象ではありましたが、解決法は異なりました。
そして、残るもう一つのケースはオンラインからダウンロードした画像データがアップロードできない、というもの。
結局、全てのケースの解決策は異なり、サーバーに解決策があったり、画像データの圧縮方法もしくは(保存方法?)にありました。
それぞれのHTTP エラーの原因と解決方法は結局…
それでは、3回全ての解決方法をご紹介します。
原因1)PHPエラー「Maximum execution time」(エックスサーバー利用時)
こちらのエラーは、正にはじめてのブログ記事を生み出そうという時に発生。
忘れもしません。
ウルトラマンの写真がアップロードできなかったこと。
こちらの記事です。
-
子連れ海外旅行!事前準備は大丈夫?長時間フライトの心構えや旅先での持ち物まとめだよ
休みだ!旅行だ!海外だー!となったら心が踊りますよね。楽しみと同時に、頭が痛いのが長時間フライト。 しかも子供を連れてとなると、かなり準備が大変。持ち物も心配もかさみます。 我が家の子供は今や上の子が ...
“Fatal error : Maximum execution time of ◯◯ seconds exceeded”
というメッセージがワードプレス上に吐き出されました。
“Fatal (致命的)” とか言われると、ドキドキしてしまうんだけど、
平たくいうと、こんな感じです。
「あらら。痛いミスが起きてるけど、あなたのその作業、◯◯秒以上かかってない?」
Maximum execution time =最大実行時間 という意味。
本人の感覚としては、1つの写真をアップロードするのにそんな時間をかけていた覚えは…全くない。
さらさらない。
でも、言われてしまったものは仕方がない…ってことで。
最大実行時間を増やすことで問題を解決してみます。
どうやって最大実行時間を増やすかというと、サーバー上で変更すれば良いだけ。エックスサーバーでしかこの作業はやったことがありませんが、とても簡単です。
解決策1:php.ini 設定変更をエックスサーバーでやってみる
ログイン > インフォパネル > サーバーパネル >そして「php.ini 設定」に進みます。
で、次のページでドメインを選択し、下記ページに進みます。
「php.ini設定変更」のタブを選択。
ページの下をザザッと見て「maximum execution time」を見つけてください。
ディフォルトの設定は30っぽいので、ここを60に変更します。
設定を変更したら確認画面に進むことをお忘れなく。
これにより、作業に「2倍」時間をかけてもいい…ってことよね?
心配な方はさらに伸ばすのもありだと思いますよ。
というわけで、この最大実行時間設定変更をした結果、めでたくウルトラマンの写真はアップロードされましたとさ。
原因2)WAF設定 (ロリポップ利用時)
このHTTPエラーは、当ブログを編集時ではなく違うサイトの編集時におこりました。
その時の利用サーバーは、「ロリポップ!」
ちなみにエックスサーバーでもロリポップ同様 WAF設定はあるので、エックスサーバーでも有り得る事象ということになります。
まず、WAFって何でしょう?
わふ…?
WAFは”Web Application Firewall ”(ウェブアプリケーションファイアウォールの略。
あなたのサイトを不正アクセスや、情報漏洩から守ってくれるこころ強い味方(機能)です。
解決策2)ロリポップでWAF設定をOFFにする
ロリポップ!のWAFの設定変更はこちらのリンクに詳しくでています。ご参考あれ。
解決策2-1)エックスサーバーでWAF設定をOFFにする
エックスサーバーでWAF設定を変更する場合も、すこぶる簡単です。
ログイン→サーバーパネル→WAF設定
続いてPHP対策をOFF
反映されるのに1時間くらい時間がかかることもあるので、気長にまちましょう。
原因3)画像データ(iphoneで撮影した写真)の圧縮方法 (もしくは保存方法?)
iPhoneの写真てどうやってパソコンに取り込んでますか?
私はマイクロソフトのクラウドサービス”One Drive”を利用しているので、撮りためた写真は自動的にOne Driveへ保存される仕組みになっています。
なので、One Driveから写真をダウンロードする、もしくはUSBケーブルを利用して写真の取り込みを行いました。
そしてはじき出されるHTTPエラー(ノω・、) ...
HTTPエラーになった写真取り込みルート
ルート1)
- One Drive(クラウドサービス)にアップロードされた写真をパソコンダウンロード
- 写真を圧縮せずそのままWPにアップロード
- HTTPエラー
ルート2)
- iPhoneの写真をケーブル利用でパソコンへ移動。
- Squooshで写真サイズを圧縮
- WPにアップロード
- HTTPエラー
試しに写真を圧縮せずアップロードするも玉砕。
ルート3)
- iPhoneの写真をケーブル利用でパソコンへ移動
- 画像をsnipping toolで切り取り
- 別名保存でファイル形式を変えてみる (pdf、jpg、gif、pngとか)
- WPにアップロード
- HTTPエラー
ルート4)
- iPhoneから直接WPに写真をアップロード
- HTTPエラー
とにかく色々試して半日は費やしたかと。
心折れましたね。
で、たどり着いた解決策は!?
解決策3)iPhoneからメールで写真をパソコンに送る
この解決策が一番簡単なのに、たどり着くまでに一番時間を要した…(汗)
- iPhone で撮った写真をメールでパソコンに送信
- 送る際に写真データサイズを圧縮
- データをパソコンで受信>ダウンロード、保存
- ワードプレスにアップロード
はい。面倒です。
複数枚写真がある時には、本当に面倒。
でも、これがHTTTPエラーにならなかった唯一の方法でした。
まさか、メールで写真を送信するなんて一番シンプルな方法に解決策があるとは思いもよらず。
結局、うまくいった決め手はメール送信による圧縮方法なのか、データ転送方法なのかはミステリーのまま。
HTTPエラーの分類と解決方法 あれこれ
とにかく原因をググりまくりました。
最初のエラーが出た当時、私はアップロードできない原因はワードプレスにあるものと思いこんでいたので、ワードプレス内に答えを求めていたわけですが、結果的に違ったわけで。
ここで重要だったことは、「気づき」があったことです。
最初歩の気づきはこれ。
ワードプレス利用時にエラーが発生しているからといって、ワードプレス上に問題があるわけではない、ということ。
乏しいながらも経験を振り返ると、問題の性質が分類されることに気がつきます。
HTTPエラーの分類
- サーバーで解決する問題
- WordPressで解決する問題
- ファイル(画像や動画)に少してを加えたら解決する問題
1)サーバー側で解決する問題
ファイルの「最大アップロードサイズ」の変更
ファイルの最大アップロードサイズは、「メディア>新規作成」と進むと、ここ(赤枠)↓で確認できる
ほぅほぅ。
この数値が、利用しているサーバーによっては2MBの場合があるということ。
2MBなんて、ファイルによっては速攻で達してしまう上限数値です。
でも、上の写真にもあるようにエックスサーバー利用の私には問題ナシでした。都度の最大アップロード数値が30Mですからね。へっちゃら。
エックスサーバー、心強いです。
phpで “maximum execution time”設定の変更
先程説明はしたので、ここでは詳細割愛。
たとえ、あなたの作業速度が遅くなかったとしても、この設定変更で問題が解決するならば、いらっとせずに設定変更してみてください。
WAF設定の変更
こちらも先程と重複するので、詳細割愛。
ファイルのアップロードのために、本来であればサイトを守ってくれるはずのWAFをOFFにしないといけないなんて、なんか皮肉です。
2) WordPressで解決する問題
記事の編集保存、ページのリロード(基本中のキ)
編集中の続きで写真をアップロードしようとすると、時にエラーで弾かれます。
ここは一度下書き保存をしっかりして、ページを新しくしてからファイルのアップロードの臨みましょう
WordPressを最新版にする
お使いのWordPressは最新版ですか?
時に、この更新がされていないとHTTPエラーの原因になるとのこと。
WordPressの更新って、世の中には意図してし避けている人もいるんですね。仕様が変わることもあるので。
不要なアップデートは避けたいところですが、更新するときは全てのデータをサーバーにとってから、が鉄則。
「エックスサーバー」、「ロリポップ!」はそれぞれバックアップをとってくれているので 安心です。
ファイルアップロードを「メディア」→「新規作成」で行う
編集の記事途中から写真を挿入するのではなく、きちんと「メディア」→「新規作成」の手順を踏む。
この手順を踏むと、ときに「HTTPエラー」だけでなく何がエラーなのか詳しいメッセージが出ることもあります。
(先程の“maximum execution time”や、エラー500とか503とか。)
手がかりがわかればググれるからね。一歩進める。
WordPress内のプラグインを停止
たくさんプラグインが入っている場合、それぞれが干渉し合って、上手く動かないことがあります。
なので、怪しいプラグインを停止させて、ファイルをアップロードさせるという方法も解決策の1つになるかもしれません。
ただ、やみくもにプラグインを停止させていくのは効率が悪い。
というわけで、原因検索をした際に多くの人が挙げていた下記プラグインを試してみて下さい。
「EWWW Image Optimizer」
画像を無理なく圧縮してくれるプラグインです。
WordPressのコアファイルを見直す
これに関してはですね…語れることがほぼない。
なぜなら怖くて私は試せなかったから。
WordPress内全てを吹っ飛ばしかねないので、素人の私には神様領域。
詳しい人なら、ちゃちゃっと済むことなのでしょうが、「コアファイルに手を加える」のは、最後の手段ですね…
私が陥ったHTTP エラーは、「アップロードできる画像もある。全部がダメなわけじゃない。」という状況だったので、コアファイルとやらは開きもしませんでした。
とりあえず、解決策の一つとして残しておきます。
ファイル(画像や動画)に手を加えたら解決する場合
先程の私の解決策(3)もここに分類されるのかもしれません。
未だに解決策がなんだったのかは謎のままですが、データの転送方法、圧縮の仕方、保存方法のどこかにその解決の糸口があったのだと思います。
こちらには、データ圧縮に便利なSquooshのリンクを残しておきます。
使い方はとても簡単。
画像をドラッグ&ドロップして、左右の画面で画質を確認しながらデータを圧縮していきます。
圧縮が完了したら、画像をダウンロードして完了。
あっという間の作業です。
この方法で圧縮した画像データもこれまでに問題なくWordPressへアップロードされているので、圧縮方法は問題なしです。
まとめだよ WordPress:HTTPエラーの原因と解決策の旅
いかがでしたでしょうか。HTTPエラーの解決策達。
あなたのHTTPエラーは、分類してみるとどこに入りますか?
解決策を見つけるために、一度原因はどこにあるのか分類してみるのも悪くないですよ。
1)サーバー側で解決する問題
- ファイルの「最大アップロードサイズ」の変更
- phpで “maximum execution time”設定の変更
- WAF設定の変更
2) WordPressで解決する問題
- 記事の編集保存、ページのリロード(基本中のキ)
- WordPressを最新版にする
- ファイルアップロードを「メディア」→「新規作成」で行う
- WordPress内のプラグインを停止
- WordPressのコアファイルを見直す
3) ファイル(画像や動画)に手を加えたら解決する場合
ファイルをアップロードしたいのに!アップロードすれば完了なのに!
そんなあなたのイライラを解決するのに、この備忘録がお役にたてば万々歳。
関連記事はこちら
-
学童申し込みはいつから?学童の種類や選ぶポイントをまとめてみたよ。
紅葉が始まるこの季節になると私が思い出すこと。 それは…我が家の学童申し込みドラマ。 学童申し込み、第1希望の民営/私立学童(NPO法人運営)は落選。 第2希望の公立学童入会希望は受理。 公営学童の説 ...
-
キッズ携帯まとめ!準備や契約の注意点、各社比較で新一年生も安心!
ランドセル購入、よし。就学時健診、よし。学童申し込み、よし。 新一年生になるお子さんがいるあなた、ご家族の皆様。山のような諸々準備、お疲れ様です。名前シールやお名前スタンプで、名前書き乗り切ってますか ...
-
キッズデュオの評判は?月謝は?諸々含めてメリットとデメリットに答えます
近年、数が増えている「英語で預かる学童保育」のキッズデュオ。2020年以降、公立学校での英語教育が変わることを受けて、学童保育の他、キッズデュオの幼稚園も始まっているようです。 「子供は英語を話せるよ ...