[PHP-users 33828] PHP(imap_open)のコマンドラインとブラウザの挙動の違い

Seiichirou Hiraoka flathill @ netspring.co.jp
2008年 7月 15日 (火) 16:21:14 JST


はじめまして、平岡と申します。

以下の環境にてPHPスクリプトを作成しております。
  OS: Solaris10 SPARC
  Apache 2.2.8
  PHP 5.2.6

IMAPにてメールを参照するために、以下のようなスクリプトを作成しました。

<?php
var_dump($argv);

$uid = imap_open("{アドレス:143/imap/notls}","ユーザ名","パスワード");
if ($uid==false){
echo imap_last_error();
return ;
}

$headers = imap_headers($uid);
var_dump($headers);

imap_close($uid);

?>

これをコマンドラインから

  php スクリプト

のように実行すると動作するのですが、ブラウザから実行すると以下のような
エラーが出力されます。

Warning: imap_open() [function.imap-open]: Couldn't open stream {アドレス:143/imap/notls} in /usr/local/apache/htdocs/imaploader.php on line 4
Can't connect to アドレス,143: Error 0

Apache は以下のようにコンパイルしており、
  ./configure --prefix=/usr/local --disable-ipv6 --disable-ssl --with-mpm=worker --enable-rewrite --enable-so --with-ldap --enable-ldap --enable-authnz-ldap

PHP は以下のようにコンパイルしております。
  ./configure --prefix=/usr/local --with-config-file-path=/usr/local/lib/php --disable-ipv6 --with-iconv-dir=/usr/local --with-gettext=/usr/local/share/gettext --with-openssl=/usr/local --with-imap=/usr/local/c-client/imap-2006j --with-imap-ssl=/usr/local --with-zlib --with-apxs2=/usr/local/apache/bin/apxs --with-pgsql=/usr/local/pgsql --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysq/bin/mysql_config --enable-mbstring --enable-mbregex --with-ldap=/usr/local

また、インストールされた libphp5.so 中には imap_open 関数が含まれている
ようです。
% nm /usr/local/apache/modules/libphp5.so | grep imap_open
[22456] | 4432660| 4356|FUNC |GLOB |0 |13 |imap_open

尚、c-client のバージョンを 2004g や 2007b に変更しても結果は同じでした。

このような状況ですが、今後どのように問題を切り分ければ良いか、アドバイスを
頂けませんでしょうか。

以上、よろしくお願いいたします。

- flathill


PHP-users メーリングリストの案内