WordPressでログインできなくなったときの対処
サーバーのPHPバージョンを5.2および5.3から5.6へバージョンアップしたところ急にWordPressへのログイン画面でエラーが発生し、ログインできなくなりました。
エラー内容は予期しない出力により Cookies がブロックされましたとのこと。
よくあるのはCookie(クッキー)が影響してログインできないことがあるので、ブラウザのCookieを削除してみるがログインできず。
サーバー側でもブラウザでも問題ないならWordPressのプラグインか変更を加えたファイルかと思われる。
キャッシュ系のプラグインを導入していたので怪しかったがそうでもなく、調べてみるとどうやら子テーマのfunctions.phpが疑わしい。
[ad#ads]
<?phpや?>の前後に空白や改行があるとだめなようだがそんなものはなく、あとファイル保存もUTF-8指定し、アップロードしてみるも駄目。
php.iniの編集でoutput_bufferingをonにすると直ったが今までがoffだったので根本的な原因ではないと思い、さらに探してみるとわかりました。
ファイル保存時のエンコードUTF-8にBOM(byte order mark)が付いていたのが原因でした。
UTF-8ではBOMが付くとプログラムが正常に処理出来なくなる事が有るようです。
最近テキストディタをTeraPadからMeryに変更して使っていましたが、いつのまにかBOM付きで保存されていました。
BOM無しにして無事復旧。
こちらの記事もオススメです