SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【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関数を使っているところっぽいけど、何ですかこれ?

php-logo

答え

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のエラー以外にも何か勝手に拾って画面に出していたような雰囲気でした。

確証がないのですが情報まで。

関連するメモ

コメント