このプラグインを有効化する際に、4文字分の予期しない出力が生成されました。もし “headers already sent” エラーメッセージ、配信フィードの問題などが発生する場合は、プラグインを無効化または削除してください。
The plugin generated 4 characters of unexpected output during activation. If you notice “headers already sent” messages, problems with syndication feeds or other issues, try deactivating or removing this plugin.
文字数は4文字でなくて他の場合もあり得ます。
1.UTF-8(BOMあり)で、BOMコードがあることが原因
2.<?phpの前に空白などがあることが原因
3.?>より後ろに空白などがあることが原因
4.「プラグイン有効化(register_activation_hook())」のタイミングで「echo」している
1.UTF-8(BOMあり)で、BOMコードがあることが原因
Windowsのメモ帳は、(BOMあり)にしかできないので、他のエディターでUTF-8(BOMなし)で保存してください2.<?phpの前に空白などがあることが原因
プラグインの時は、<?phpの前には、なにも書いてはいけません。エラーになります。Wordpressのプラグインの仕様みたいです。3.?>より後ろに空白などがあることが原因
<?pho //コード ?>のようにPHPコードを埋め込むのですが、ファイルの最後に?>なる場合は、「?>」を省略することが可能です。省略した書き方をしているとこの手のエラーに遭遇することはなくなります。
A.2.1. 全般
PHP コードのみからなるファイルでは、終了タグ ("?>") は決して含めてはいけません。終了タグは、PHP には必要ありません。終了タグを省略することで、ファイルの最後にある空白文字が出力に影響することを防ぎます。
入門書等では、PHPコードを書く場合は「<?php」と「?>」で囲われた中に書きましょうというのが一般的ですが、PHPのコードのみからなるファイルでは最後の?>を省略したほうがいいとのことです。
これは、ファイルの最後に余計な改行・空白等が含まれてしまうと表示や動作に影響してしまうためです。
PHP TIPS - 16. PHPの最後の?>は不要なんです:ITpro
?>は省略できるので、省略したほうがこの手のトラブルから逃れられる
4.「プラグイン有効化(register_activation_hook())」のタイミングで「echo」している
自作でプラグインを作成している場合とかに、やりがちな失敗だと思います。このタイミングでは、echoをすると必ずエラーになります。だから、echoできません。Wordpressのプラグインの仕様みたいです。参考:
・reCatnap: WPプラグインを有効化しようとするとエラーになった。 » PCスキルの小技・忘却防止メモ
・プラグインの有効化で出るエラー | You Look Too Cool
・「headers already sent」と表示されるとき | PHPプログラミングの教科書 [php1st.com]
スポンサーリンク
コメントを残す