【php】 Warning: MIME header encountered in non-MIME message
問題
以下のようなエラー(Notice)が発生しました。
Notice: Unknown: Warning: MIME header encountered in non-MIME message (errflg=3) in Unknown on line 0
IMAP関数を使っているところっぽいけど、何ですかこれ?
答え
IMAP関数を使っていて、メールを解析(imap_fetchstructure())したりした後で、imap_close() をすると出ることがあるらしい。
これ↓だとエラーが出てくるけど、
imap_close();
これ↓だと出なくなった。
imap_errors(); imap_close();
imapのライブラリの内部的なエラー情報がスタックに残ったままでimap_close()するとダメで、エラーを吐き出させたらいいらしい。
ただ今回の問題では、IMAPやphpの問題というよりは、この環境にはxdebugが入っていて、これが悪さをしている様子。
.htaccessで、以下の設定を入れると、ソースは修正しなくても問題が起きなくなった。
php_value html_errors Off
xdebug が通常のphpのエラー以外にも何か勝手に拾って画面に出していたような雰囲気でした。
確証がないのですが情報まで。
コメント