EC-CUBE4系でプラグインの開発をしていたところ、
インストール時に以下のようなエラーが発生しました。
Failed to start the session because headers have already been sent where from...
こちらには記載していませんが、
Entityクラスを拡張するためのtraitに問題があるようでした。
しかし、内容を見直してみても問題は確認することができず、
なぜこのようなエラーが発生するのかわかりませんでした。
今回では、traitファイルの記述内容に全くの問題がないのに、
今回のエラーが出る場合にチェックしてみて欲しい箇所を紹介します。
- Macで開発している
- Finderでエラーが出ているファイルのGet Infoを確認した時に、Where Fromの項目が表示されている。(英語部分のところは適宜日本語に直してください)
まず、この2点に当てはまるかを確認し、Where Fromの項目がある人は、
該当ファイルを新しく作り直して、この項目が出ないようにします。
もしくは以下のURLを参考にして、Macのコマンドラインから
このメタ情報を削除することでも対応はできるようです。
Removing “Where From” Metadata MaxOS
このようにWhere Fromのメタ情報を削除することで、
この今回のエラーが解消されることがあります。
ハッキリとしたことはわからないのですが、
どうもファイルをコピーしてtraitファイルを作った時に、
このWhere Fromというメタ情報が追加されたようで、
これがあるとプラグインのインストール時にエラーが発生してしまうようです。
また、私の場合はEntityを拡張するためのtraitファイルでしたが、
もしかすると他のファイルなどでも同じ不具合が発生するかもしれません。
同じような不具合でお困りの方は、一度試してみてください。