コントロールパネルにcPanelを使っている

共有のレンタルサーバで空メールを処理するphp
プログラムを作っています。

cPanelのメール設定のForwardersの設定で、
指定のメールアカウントにメールが来たらphp
プログラムにフォワードするように

 test@hoge.fuga.com --> | php -q /home/username/public_html/hoge/test.php

と設定したのですが、「Mail delivery failed: returning message to senderl」
というメールがメールを送ったアカウントに返信されてしまいます。
返信されたメールを見ると、mysql.soとpdo.soとpdo_mysql.soがロードできない
ということがかかれていました。

メールをパイプした場合ではなくコマンドラインから

# echo abcdefg | php -q test.php

のように実行した場合はこのようなワーニングが出ることはありません。
このワーニングが出ないようにする方法はないものでしょうか。
この現象について何かご存じの方がいましたら教えてください。

回答の条件
  • 1人5回まで
  • 登録:2006/12/11 21:34:54
  • 終了:2006/12/18 13:23:10

ベストアンサー

id:thrillseeker No.1

thrillseeker回答回数328ベストアンサー獲得回数372006/12/14 02:31:41

ポイント60pt

メールを処理するサーバがコマンドラインを実行したサーバと分離

されており、メール処理サーバには mysql がインストールされて

いない可能性があります。

メール処理がユーザCGIの暴走などに影響されないよう、複数の

マシンにユーザスペースとなる /home を共有させながらこのような

機能分散を行わせるケースが良くあるようです。


サポートに対応を求めるか、mysql を自分のユーザスペースに

インストールし、test.php にはその mysql を使うようにさせると

良いかもしれません。

id:nori_0000

アドバイスありがとうございます!

返事が遅くなってしまってすみません

なるほど、メール処理を機能分散させるというのはよくあることなのですか。

となるとやはり一度サポートに聞いた方が良さそうですね。

それにしてもmysqlを自分のユーザースペースにインストールすることができるんですね。

用意されたmysqlを使うことしかしなかったので考えもしませんでした。

ありがとうございました。

2006/12/18 13:22:01
  • id:thrillseeker
    いるか賞ありがとうございます。
    シェルが使えるレンタルサーバなら、用意されていないツールは自前でインストールして使うように出来ます。
    ただし、マシンの root 権限が必要なサーバプログラム類は動かせませんのでご注意を。
    mysql の場合も、自前で動かせるのはレンタル側が用意したデータベースにアクセスする為のクライアント機能だけだと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません