wordpress『500 Internal Server Error』のトラブル対処の戦いとお寿司を奢って解決するお話し

2019年12月某日ワードプレスの運営サイト全てに
500 Internal Server Error
(500エラー)

が表示されました。

500 Internal Server Error

以下解決までの全工程を書いておきます。
2転3転しましたが最後には
WEB屋さんにお寿司を奢ることで
解決できました。いや、してもらいました(笑)

PHPを新しいバージョン更新

まず思い当たったのが
『ダッシュボートにPHP更新しろな警告がきてたなぁ』
でした。

PHP更新通知

ちょっと面倒だったので放置してたんですね。
で、それかな、と。

このサイトはエックスサーバーで運営しているので
エックスサーバーのサーバーパネルにアクセス
PHPを最新版に更新しました。

エックスサーバーのサーバーパネルで PHPを最新版に更新

ここまで行けばあとは
該当ドメインで切り替えるだけです。

ちなみに本当はこんな簡単に更新してはいけません。

PHPのバージョンが使用している
『テーマ』と『プラグイン』に対応しているかを
確認してから更新してください。

詳しくはこちらのサイトを参照しました。

PHPを最新版にしたのですが
500 Internal Server Errorのままでした。

サーバーの容量がマックスだった

おかしいなと思って検索してみると
『サーバーの容量がマックスじゃない?』
と事例が多いので確認してみるとまさにそれでした。
確認はエックスサーバーの場合
サーバーパネルで確認できます。

サーバーの容量がマックスだった

この画像は解決後です。

 

なら使ってないテーマがあるから削除しよう

そこで1つの問題が発生します

500エラー中はワードプレスのダッシュボードに入れない

500 Internal Server Error発生中は
ダッシュボードにもアクセスできないのです。
ダッシュボードもブックマークに入れてますが
この画面がでたままです。

500 Internal Server Error

サクッとデータを消せば終わりなのですが消せない・・・

サーバー容量マックスな時はFTPソフトの出番

ダッシュボードにアクセスしないで
サーバーの容量を減らしたい時はFTPソフトを使います。
ここではFile Zillaを使っています。

FTPソフトってなんぞやって方や
どうやって設定するかはこちらをどうぞ

File Zillaを起動し
リモートサイト(右側の枠)
『減らしたいサイトのドメイン』
→『public_html』
→『themes』
で使用していないテーマを削除しました。

これで無事稼働・・・・といきませんでした(泣)

運営サイトの1つだけ稼働せずに
Fatal error(致命的欠陥)と表示されました。
(ちなみに本来はこれで解決することが多いです)

対応していないプラグインの誤作動?

そこで思い出したがPHPの更新です。
プラグインが対応してなかったかな?
と思い調べると
稼働しなかったサイトでだけ使っていた
db-cache-reloaded-fixがPHP更新の際に
対応できずバグを起こすとの情報が。

これか原因は!

テーマを消したのと同じように
File Zillaを起動し
リモートサイト(右側の枠)
『サイトのドメイン』
→『public_html』
→『plugins』
→db-cache-reloaded-fix削除

webではこれで解決した事例多数!

意気揚々とサイトにアクセスする

すると表示されたのはこの画面

ワードプレス Fatal error

こ・れ・は・や・ば・い

 

とりあえず最初の画面より文が3倍に(泣)
バックアップをとってあるからと
調子に乗って検索してぐいぐい行き過ぎたか?

ゲシュタルト崩壊を起こしそうなほど
Fatal errorが連呼されてます。

対策を検索してみますが
解決策が1つに絞れない状態になりました。

プロのweb屋さんに解決策を聞いてみた。

これはヤバいなと思い
知り合いのweb屋さんの中島くんに連絡しました。

web屋さん 中島くん
 元大手企業でエンジニアとして活躍した後起業
       現在は税理士さん向けのweb運営サポート

動画作成、web広告サポート、撮影スタジオ運営など多岐に渡って活躍中
今までの流れを伝えると

また盛大な流れですね(笑)

バックアップは取ってますか?

 

と聞かれたので

『File Zillaで手動でとってます』

と返すと

wp-contentの中にいるdb.phpの名前をolddb.phpに変更してみてください!

とメッセージがきました。

バックアップをFile Zillaでとってるって何?
な方はこちらをどうぞ

これで解決! FTPソフトでwp-contentのdb.phpの名前をolddb.phpに変更

中島くん言われた通りに名前を変更しました。

wp-contentの
db.phpの名前を
olddb.phpに変更します。

これで解決! FTPソフトでwp-contentのdb.phpの名前をolddb.phpに変更

名前変えただけです。

名前変えただけなんですが
これで完全に元通りになりました!

いや良かった・・・。

ちなみになんでこれで治ったのか聞いてみると

だそうです。

まさにキャッシュ系プラグイン
db-cache-reloaded-fixを
FTPソフトで手動削除したのは
まんまパターンだったようです(笑)

中島くんありがとう!

今回のことを中島君サイドでも記事にしてます。
そうならないために前もって実施しておくこくことや
初動で確認すべきことがまとめてあります。

「真っ白になった。」「500エラー」など、WordPressでのトラブル時の対応方法

この記事を読めばわかりますが
アドバイス報酬はお寿司になりました(笑)

500 Internal Server Errorがでたら使用のサーバーの『よくある質問』を見よう

ちなみに500 Internal Server Errorは
それほど珍しい事例ではないので
使用サーバーサイトに
『よくある質問』にだいたい事例と
解決策が載っています。

エックスサーバーには以下の4つが
書いてありました。

CGIやPHPの同時接続数が多くなり、アカウント単位のリソース制限となっている

これは俗に言うアクセス過多ですね。
一時的なものならほっとけば治ります。

プログラムの記述内容(CGI/PHPのソースコード)に誤りがある

PHPコードが間違えている、場合です。
この場合はPHPコード修正後に
発生することがほとんどなので
PHPコードを見直して
間違えている箇所を修正してください。
セミコロンが抜けているといった基本的間違いから
配列のインデックス指定ミスで
処理が正常に実行できない場合などあります。

.htaccessの記述に誤りがある

まんまですが.htaccessの記述が
誤っている場合はもちろん
PHPを使うための記述がない場合
PHPファイルの内容に関わらず
500 Internal Server Errorが発生することがあります。

パーミッションに誤りがある

パーミッション設定の数字が違う場合です。
各サーバーに
『うちのパーミッションの数字これだから』
と指定しているので
違う場合それに変更してください。

詳しくはエックスサーバーのよくある質問を見てください。

500 Internal Server Errorトラブル詳細一覧

今回及びこのトラブルで色々検索して
今回は使わなかったけどでてきたものを載せておきます。
上のエックスサーバーのよくある質問と被るものもあります。

500 Internal Server Errorトラブル詳細一覧
サーバーの容量がマックス
PHPが古いものを使用
PHPを最新版に更新した際に対応できないプラグインorテーマを使っている
wp-contentにdb.phpのファイルがある
アクセス過多
プログラムの記述内容(CGI/PHPのソースコード)に誤り
.htaccessの記述に誤り
パーミッションに誤り

 

最後の疑問 エックスサーバーの容量がマックスになった理由

ありがたいことにサイトは復旧しましたが
またすぐ容量がマックスになるかもしれないので
サーバープラン変更しなければと。

焼石に水とは思いましたが
使わない画像をメディアから20枚ほど削除しました。

未使用メディアの探し方
サイトで使っていない画像は
メディアライブラリの
『すべてのメディア』を
『未添付』に変更すれば確認できます。
ただしプラグインなどに使用している画像も
含まれることがあるので
削除する際には目視で必ず確認してください。

その後にサーバーの容量を確認したんですよ

サーバーの容量がマックスだった

そしたらこれです。
(さっきの画像の使いまわし)

いやいやいやいや

テーマ1つと画像20枚削除しただけで
140GBも容量空かないって!!!

ちょっと理由がわからないし
また同じことが起こるのも嫌なので
今エックスサーバーに問い合わせています。

理由がわかったらここに追記します。

最後に ワードプレスはバックアップが最重要!

ワードプレスはバックアップが全てです!

今回も手動でバックアップとっていなかったら
もっと面倒なことになっていたのは間違いないです。

まだしてない方は今すぐバックアップしましょう!

 

おすすめの記事