ログインしようとすると500 Internal Server Error
手元のスマホでログインしようとしたところ、
500エラーが出てログインできず。
結果として、SiteGuard WP Pluginのログインアラートが
悪さをしてました。
エラー発見は、wp-config.phpから
エラー情報をダンプしてくれるとのことで
define('WP_DEBUG', true);
に変更。
これは、通常farceになっていて、
上記のように変更すると内部の細かいエラーとかを
画面上に出力してくれるようになる。
一箇所プラグインが悪さをしてた
本題と関係ないプラグインが悪さをしていたんで、
ささっと削除。
改善せず
どういうこっちゃと頭を抱える。
基本のサーバーログへ
さくらのコントロールパネルに行き
アクセスログの設定
へ
エラーメッセージを読み込む
謎のdead.letter
[******] [cgi:error] [pid ******] [client ******] malformed header from script 'wp-login.php': Bad header: /home/******/dead.letter... , referer: ******
dead.letterはプログラムなどからメールを送信した際に、
送信にミスったときに、蓄積されるところで、
ここに何かしらのメッセージが溜まってるっぽいことがわかる。
犯人発見
それで、そのdead.letterを開いてみると、
最新のメッセージのところに
SiteGuard WP Plugin
とあり、この子が悪さをしていると推測した。
それで設定変更
SiteGuard WP Plugin上で
ログインのメールを飛ばすって項目をオフに変更。
解決
無事にログインできるようになりました。
今回の件で感じたこと
聞きかじりの知識で対応しない
じつは、上記の動きに至るまで
「どうせ、.htaccessが悪さしてんだろ」
なんて考えて、
なかみを消してみたりしてました。
結果、改善せずにやったのが上記の流れです。
デバッグ重要
私がやっているデバッグはシンプルで
- エラーログを読む
- 悪さをしているところを潰す
って流れでやってます。
今回もそれでやれば、
すぐに解決できたなあ、なんて思いました。
人生で重要なことはエラーログから教わった
嘘です。
でも、エラーログは問題解決に必要な情報が
大体の場合は入ってるんで、
いったん覗いてみるくせをつけたほうが良いかもしれません。
以上、手元で発生した
wp-login.phpが500 Internal Server Errorでログインできない事変
の顛末でした。