WordPressでWarning: Cannot modify…とエラーが出た場合の解決方法

本サイト内のコンテンツはNORILOGが独自に制作しています。メーカー等から商品提供を受けることもありますが、その場合は記事内に明記しております。コンテンツの内容や評価に関するランキングの決定には一切関与していません。メーカー等の指示による表示部分にはPRを表記します。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。詳しくはサイト運営ポリシーをご覧ください。

最近は、もっぱら週末は夜から次の日の朝、自分の気が済むまでこのサイトのPHPやCSSをいじっては見栄えの調整、デザインの調整を行っております。

実は最近サイトを修正していたタイミングで「Warning: Cannot modify header information – headers already sent by ・・・」というエラーが表示されて一瞬デスクから崩れ落ちそうになりましたが、、、

なにかのボタンを押したり更新したタイミングでPHPのエラーが吐き出されたときの焦り具合はハンパないのはみなさんもご存知かと。そんな場合でも解決策さえわかっていれば安心です。同じようなエラーがでた場合の参考にしてみてください。

この記事を書いた人

出力されたエラー内容

PHPをいじってサーバーにアップしたあとに、機能的にかぶるようなプラグインを削除しようと思ってボタンを押したところ・・・。ポチっ・・・。
真っ白い画面に表示されたエラー内容。

php-error

いやぁぁぁぁああああああああーーーーっ!!!😭😭😭

自分のサイトが真っ白に!

NORI

深夜に断末魔の叫びが聞こえたのか、聞こえてないかはさておいて。

WordPressを触っていることがある方なら理解いただけると思いますが、だいたいこういうエラーが吐き出されるときは、復旧に時間がかかるものです。今回も原因を究明するべくGoogle先生へ質問の嵐。

第1の疑い Pluggable.php

画像を見てもわかる通り、functions.phpか、pluggable.phpのどちらかに原因があるのは間違いないと思ったので、まずはpluggable.phpの1228行目を捜索。

そもそもここをいじった記憶がないので、なんでエラーがでるのか不明だったが、いろいろ調べていくうちにたどり着いた記事がこちら。「どうやってPluggable.phpのエラーを修正するか」といった内容。

How to Fix Pluggable.php File Errors in WordPress

Last updated on by Editorial Staff Are you seeing a pluggable.php file error on your WordPress site? Sometimes when you add a code snippet on your site or activate a new plugin, you may get the pluggable.php file error. In this article, we will show you how to fix pluggable.php file errors in WordPress.

まさに同じような症状がでている。ざーっと読んでいくと、原因はカスタムのcode sinippetだということ。

考えられるのはただひとつ、プラグインの code snippets ではないかという結論に至った。

おそらくWordPressを独自にカスタマイズしていく上では、テーマのfunctions.phpをいじるのにてっとり早く扱いまわしやすいという理由で、入れていたプラグインだったが、まさかこれが原因なのかと思い、一旦バックアップを取りプラグインをサーバーから削除してみたが、状況が変わらず。

ダッシュボードにはかろうじてアクセスできているが、なにかを更新しようとすると必ずこのエラーが吐き出される。

さらに一旦全部のプラグインを「停止」にしてみたが、それでも状況が変わらず。

詰んだかもしれない….

NORI

第2の疑い functions.php

画像の通りのエラーであれば、残る原因はただひとつ。functions.phpのみ!また同じような内容で調べていくとたどり着いた記事がこちら。同様のエラーに遭遇された方でした。

「Warning: Cannot modify header information…」エラーの解決方法[PHP]

PHPで「header()」関数を使用したら「Warning: Cannot modify header information – headers already sent by ・・・」とかいう見慣れないエラーが表示されたので解決方法を紹介します。

結論から言うと、該当していたのはこのエラーでした。

エラーの原因「header()」関数の前に出力や改行があった

「header()」関数を使用する際は全ての画面上への出力の前に実行する必要がある。とのこと。

確に functions.php を触っていたときにコピペでソースを貼り付けて整形していたので、おそらくそれが原因だったのかと。

該当の行を削除したら問題なくサイトが復活!!

ほんとただの操作ミス(コピペ)だったという訳でした。WordPressをカスタマイズするって結構大変だなといつも思います。PHPなどもほぼネットで独学でいろいろな記事を見て学ばせていただいてます。

初心者がWordPressの設定などを変更する際には、事前にバックアップをとっておくことをオススメします。もう5年経ってる私でもこんな初歩的なミスをするんですからね。

同じ症状のエラーが出た場合、まずは直近で編集したfunctions.phpの内容に改行が入っていないかどうかチェックすることをオススメします。たぶんそこからチェックするのがエラー回避方法で一番早い気がします。

復旧するまで気が気でなかったです….

NORI

初心者にオススメの書籍

コメントの通知/購読設定
受け取る通知
guest

0 件のコメント
古い順
新しい順 評価順
Inline Feedbacks
全てのコメントを見る