【ログイン画面】wordpressのバグをなおす【吹っ飛びました】
現在は回復していますが、12月上旬にwordpressがバグりました。
管理画面に入れなくなってしまった。
復旧できなさ過ぎて二週間くらいふて寝していました。
やり始めたら、ちょっとの操作で復活できたので、方法を解説していきたいと思います。
現在、同じように悩んでいる方がいましたら、ぜひ参考にしてください。
【経緯】
発端はサーバーの引っ越しでした。
引っ越し先のサーバーへURLを紐づけた後、ワードプレスのデータを抜き取るのを忘れて、
慌てて戻し作業。
引っ越す前のサーバーにURLを付けなおしたものの、ワードプレスが表示されず。
【状態】
トップページは装飾のないhtmlで表示されていました。
しかし、記事内には入れず。管理画面のURLも真っ白です。
【試したこと】
①login.phpから入る→真っ白で入れず
URLの末尾にwp-login.phpを付けたらログイン画面が表示されるかもと思い実行。
wp-login.phpページも真っ白のまま、変わらずでした。
②mySQLでwp_optionsのURLを二つ変更→変化なし
このブログに詳しい手順が載っています。
データベースに登録されたURLと、実際のURLがミスマッチを起こしているのでは。
確かに、サーバー移転したことで、URLの記載がおかしくなっていたのですが、直しただけでは戻りませんでした。
③htaccessの初期化
このブログに詳しい手順が載っています。
移転→手戻りで更新されたhtaccessを、元の状態に戻しました。
しかし、症状はもとに戻りませんでした。
ちなみに、このブログで「というかバックアップ取っとけよ!」って盛大に突っ込まれてます。
ほんとにその通り。
④wp_configのデバッグモードで診断してみる。
wp_config.phpには、wordpressが壊れた原因を究明する「デバッグモード」が搭載されています。
こちらのブログを参考に。
https://tracpath.com/works/devops/wordpress-debugging-wp_debug/
wordpressがおかしくなったら、とりあえず一番に「デバッグモード」を試してみると良いと思います。
後回しにしたのは、今まで3個くらいwordpressを壊してきているにも関わらず、wp_config.phpで解決した記憶がなかったからです。
ところが今回、ログイン画面のURLに「Warning:Cannot modify header information」とのエラー文が出てきました。
表示されたエラー文「cannot modify〜」をググってみます。
⑤php.iniの設定output_differingをいじる→復活!!
こちらのブログが参考になります。
どうやらこのエラー文が出てくる理由は、「header関数よりも前に余計な処理が割り込んでしまうことによって起こるもの」だそうです。
全然わからない……。
とりあえず「php.ini」の「output_buffering」の設定を変更してみたところ、
驚くほどアッサリと復活しました!!あっさりしすぎて拍子抜け。
色々いじってみたんですが、特に不具合もなく操作ができています。良かったです。
為になる記事を掲載してくださっている、WP玄人の皆様、大変助かりました。
ありがとうございます。