PHPのバージョンアップでブログが『500 Internal Server Error』になった時の対処法 古いプラグインが原因のケース

12

このブログ『firstblog -ふぁすぶろ-』が詰みました。このとき以来2回目。いつ見ても心臓がひんやりする。『WordPress管理画面』すらアクセスできない事態に陥りました。

まあでもこうやってブログを更新することができているので復活したわけです。端的に原因と対処法を書くと、

  • 【原因】→ PHPバージョンアップと古いプラグインの齟齬
  • 【対処法】→ FTPソフトから古いプラグイン『Amazon JS』を抹殺

こんな感じです。解決した時に「犬に抱かれたい」と思ったので肉球仕様です。時系列を追ってざっくり解説していきます。

wpXサーバーの管理画面からエラーログを見る

d

wpXサーバーの管理画面からエラーログを見ることができます。たぶん他のサーバーでも管理画面からアクセスできるはず。

  • [Fri May 01 22:18:09.917185 2020] [fcgid:warn] pid 6604Connection reset by peer: [client 66.249.71.66:48078] mod_fcgid: error reading data from FastCGI server
  • [Fri May 01 22:18:09.917236 2020] [core:error] [pid 6604] [client 66.249.71.66:48078] End of script output before headers: index.php

エラーログによるとこの2種類のエラーが数秒ごとに2000件くらい羅列されてました。どうやら『FastCGI』『php』が関与しているみたい。

Googleで調べまくる

とりあえずGoogleでこの症状を調べまくります。

「mod_fcgid: error reading data from FastCGI server 解決」
「エラー End of script output before headers: index.php」

その結果、いくつか解決方法がヒットしたんですが、

  • 専門用語を使いまくった記事
  • そもそも解決していない記事
  • 40文字だけ解説して残りぜんぶ広告クソ記事

ばっかり。特に専門用語ばかりの記事が多くて全くわからない。こっちはFastCGIすらわからない。なんだそれ新しい乳酸菌か?

バックアップから復元で余裕なのでは

3333

「セーブポイントからリセットすれば解決なのでは?」と思ったので前回のバックアップから復元をトライ。んで、生き返らず。死んだまんま。え?セーブしたよね?

「ゼニガメLv.5」「マサラタウン」「うれしそうなオーキド」の語句が脳裏によぎります。

原因を考える

これまで症状に対して処方する『対症療法』でアプローチして全滅。なら『原因療法』でいくしかない。というわけで原因を突き止めましょう。

ここ最近にやったことを書き出しました。

記事更新でサーバーがイカれるわけがないので『PHP更新』か『バックアップ由来のエラー』の2択です。というか間違いなくPHP更新だろこれ。

22

WordPressから「PHPなんとかしないとお前の村燃やすぞ」(意訳)というメッセージにビビった結果なんの対策も取らずにバージョンアップしたのが原因です。

PHPバージョン変更がもたらすサーバー破壊

明らかにPHPバージョン変更が災いの元。対処法をGoogleで調べましょう。

「PHPバージョン変更がもたらすサーバー破壊」
「PHP バージョン 変更すると」
「PHP 輪廻 有象無象 共存」
「チンポ 大きい ねこ 画像」

などの語句で検索をかけたところ、

  • 古いバージョンのWordpress
  • 古いバージョンのテーマ
  • 古いバージョンのプラグイン

があると最悪即死しますという記述を見つけました。僕のブログのWordpressとテーマは最新アップデート完遂なのでプラグインの仕業。

根こそぎプラグインを殲滅して勝利を手中に拝みたいところですが『Wordpress管理画面』すらログインできません。さてどうする。

FTPソフトでサーバーに直交渉する

FTPソフト『FileZilla』でサーバーをイジるぞ。WordPress管理画面が死んでいてもサーバーにアクセスすることができる優れもの。死んだ人間と会話できる霊媒師的なポジション。

c

まずはFTPアカウントを確認しましょう。必要なのは

  • FTPアカウント名(画像のB)
  • FTPホスト名(画像のA)
  • パスワード(忘れた方は設定変更から再設定可能)

の3種類。

a

『FileZilla』を開いたら3種類の情報を打ち込みましょう。するとレンタルサーバーに直接アクセスすることができます。

そこで『plugin』を発見。

  1. 使っていないプラグインを消去
  2. Safariからブログを再読み込み
  3. 読み込みできた
  4. 完全勝利

という流れ。ぶっちゃけ、どのプラグインを消せばいいのかは不明。

僕はここ一番の勝負運を使い果たし1発目で『Amazon JS』を削除したところ完全復活を果たしました。Rinkerに完全移行してから放置していたやつ 。

ブログ復活 and 管理画面ログイン可能

13

生き返りました。

wpXで4月29日のデータに復元したため【ツイタチ選】Aメロのコード進行が秀逸なJ-POPの名曲・9選が消えてしまうミス。4月30日のバックアップデータで復元することでエリクサー並みに完全回復しました。

まとめ:無知でPHPをバージョンアップすると詰む

  • サーバーをいじるときは事前に調べる
  • FTPソフトがあれば大抵解決する
  • ネットのブログは専門用語ばっかりでアテにならない
  • 詳しい友達がいるといいよね
  • 運が大事

ということが学べました。僕の場合は一撃で『Amazon JS』を仕留めることができたので早期解決ができました。

PHPのバージョンを上げるときはテーマやプラグインについてしっかり調べて臨む方が良さそう。

500 Internal Server Errorの原因を突き止め解決しました

コメントを残す