[PHP-users 6274] imap_num_msgの異常動作

Tsukasa Koizumi php-users@php.gr.jp
Mon, 18 Mar 2002 23:29:55 +0900


小泉です。

imap_num_msg関数(imap_check->Nmsgsも同様)の異常動作で困っています。

RedHat 6.2J、PHP 4.1.2、Apache 1.3.17 という同じ環境の2つのサーバで、
異なる動作をしています。片方が正常、もう片方は異常。

↓テスト用に書いたスクリプトです。
----------------------------------------------------
$stream = imap_open( "{koiz.com:143}INBOX", "abcdef", "xxxxxx" );
$imp = imap_check( $stream );
echo "Date: ", $imp->Date, "\n";
echo "Driver: ", $imp->Driver, "\n";
echo "Mailbox: ", $imp->Mailbox, "\n";
echo "Nmsgs: ", $imp->Nmsgs, "\n";
echo "Recent: ", $imp->Recent, "\n";
echo "num_msg: ", imap_num_msg( $stream ), "\n";
echo "num_recent: ", imap_num_recent( $stream ), "\n";
-----------------------------------------------------

↓正常なホストでの実行結果
-----------------------------------------------------
Date: Mon, 18 Mar 2002 22:42:42 +0900 (JST)
Driver: imap
Mailbox: {koiz.com:143/imap/user="abcdef"}INBOX
Nmsgs: 52
Recent: 0
num_msg: 52
num_recent: 0
-----------------------------------------------------

↓正常に動作しないホストの実行結果
-----------------------------------------------------
Date: Mon, 18 Mar 2002 22:43:45 +0900 (JST)
Driver: imap
Mailbox: {koiz.com:143/imap/user="abcdef"}INBOX
Nmsgs: 5
Recent: 52
num_msg: 5
num_recent: 52
-----------------------------------------------------

Nmsgs〜num_recentの4つの値の違いを見てください。

Nmsgs(num_msg)の値は、常に「5」になります。メールボックスが空でも「5」、
数百のメールがあっても「5」です。(なぜ「5」なのかは不明…)

imapdはどちらもcourier-imap 1.4.3 で、複数のメールクライアントで確認
しましたが、imapdの動作に問題は見られません。

c-clientはどちらのホストも ftp://ftp.cac.washington.edu/imap/ の
c-client.tar.Z をコンパイルしたものです。コンパイル時にワーニングが出
ていますが、そのワーニングも同じ物でした。

PHP本体もコンパイルしなおしたりしましたが、変化はありません。

実行結果が違うということは、環境のどこかが違っているのだと思うのですが、
どうしても原因がわかりません。

思い当たる点はありませんでしょうか。。。


----------------------------------------------------------------------
小泉 司@コイズコム デジタルワークス(東京都文京区)
Desk - mailto:tsukasa@koiz.com / Mobile - mailto:pigtail@pdx.ne.jp
PGP Public Key - http://www.koiz.com/~tsukasa/PGP_KEY/tsukasa.asc
----------------------------------------------------------------------