WordPress 5.4 で構築されたWordPressサイトをロリポップへサーバー移行して管理画面からログインしようとした際、次のエラーメッセージが表示されログイン出来ませんでした。
エラーメッセージ
エラー: 予期しない出力により Cookie がブロックされました。 ヘルプが必要な場合はこちらのドキュメンテーションを参照するか、 サポートフォーラムをご利用ください。
原因調査
デバッグモード有効
wp-config.php ファイル内の設定でデバッグモード有効化とログをファイルに出力するよう設定します。
define('WP_DEBUG', true);
if (WP_DEBUG) {
ini_set('display_errors', 0); //エラーをブラウザに表示しない
define('WP_DEBUG_DISPLAY', false); //エラーをブラウザに表示しない
define('WP_DEBUG_LOG', true); //エラーをdebug.log に出力
}
ログ確認
出力された debug.log を確認すると以下の関連しそうなログがありました。
[04-Mar-2021 07:56:53 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/example.com/wp-content/themes/hoge/functions.php:194) in /home/xxx/example.com/wp-login.php on line 504
修正
デバッグログの確認で functions.php に問題がありそうでしたので、確認してみると行末に改行がいくつか入っていましたので、削除しました。
修正後の確認
改行削除後に再度ログインを試しましたが問題なく管画面にログインすることが出来ました。
動作環境情報
ロリポップサーバー ライトプラン PHP 7.3 WordPress 5.4.4
コメント