1

メール解析スクリプトの 1 つに、imap 関数の使用に関する問題があります。

致命的なエラー: 未定義関数 imap_open() の呼び出し

IMAP は確実に有効になっています。これは php でコンパイルされており、phpinfo() に表示されます。これらの機能にアクセスできない理由はありますかget_loaded_extensions()?extension_loaded("imap")

IMAP のバージョンは 2007e で、PHP は 5.3 です。

編集 1: これは、Mac サーバー (OSX 10.5.7) で実行されています。imap 関数を使用するスクリプトは /var/***/ にあります。 imap_open とまったく同じ詳細で、動作しているようです。

PHP の更新前に動作していたセットアップ方法 - 動作を停止する理由はありますか? メールスクリプトをウェブサーバーのドキュメントディレクトリに移動できることは知っていますが、以前のように機能しなくなる理由も知りたいです-phpの設定方法でしょうか?

4

1 に答える 1

3

echo get_cfg_var('cfg_file_path');

この php のインスタンスで使用されている php.ini を確認できます。おそらく、php apache-module (または php-cgi ですか?) と php cli バージョン (cronjob で使用) が異なる .ini ファイルを使用していることがわかります。
php のインストール方法 (およびこのバージョンの php のコンパイル方法) によっては、Apache モジュールは、cli バージョンでは解析できない追加の .ini ファイルも解析する場合があります。これが実行されているかどうかを確認するには

<?php phpinfo(); ?>

Web サーバーで、「解析された追加の .ini ファイル」というエントリを探します。
いずれにせよ、cli バージョンで使用される構成に extension=php_imap... ディレクティブが含まれていることに注意する必要があります。

于 2009-07-08T12:10:04.530 に答える