pear のパス

▼pear をインストールして、php.ini へパスを追加

include_path=".:/home/USER/pear/PEAR"

▼php でインクルード
require_once("Mail.php");
require_once("Mail/mimeDecode.php");

▼ Web と .mailfilter の両方から呼び出す目的で
php を記述していたが
.mailfilter からの呼び出しが上手くいかない

Web以外で php.ini へ記述したパスは有効なのか???


▼フルパスで記述してみる
require_once("/home/USER/pear/PEAR/Mail.php");
require_once("/home/USER/pear/PEAR/Mail/mimeDecode.php");
とりあえず、動いている

▼mime.php を利用しようとする
require_once("Mail/mime.php");

require_once("/home/USER/pear/PEAR/Mail/mime.php");

Web では動くが、.mailfilter からの呼び出しで
require しただけで、停止している様子
(php のエラーもはかないので、ログを仕込んで追跡)

自分がインストールした pear が使われているのか、怪しい

▼プログラム上から、パスを追加してみる

set_include_path(get_include_path() . PATH_SEPARATOR . '/home/USER/pear/PEAR/');

require_once("Mail.php");
require_once("Mail/mimeDecode.php");
require_once("Mail/mime.php");

動作したっぽい


☆パスが無視?され、レンタルサーバに基本で入っている
pear を呼び出していた様子で、mime.php が無かったのかもね

他のモジュールもあるので、require にフルパスで記述するのは
マズかったようで、レンタルサーバに pearが入っていて
中途半端に動作した( ←こういうのよくある )のが、ハマった始まりだった

コメント