- ベストアンサー
メールをトリガーにPHPを実行する方法とは?
- メールをトリガーにPHPを実行する方法について説明します。
- アカウント情報や環境設定に注意しながら、.forwardファイルに適切な記述を行いましょう。
- SendmailやRootディレクトリの設定も確認し、正しく動作するようにしましょう。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
smrsh が効いているかもしれません。 制約のあるレンタルサーバでは難しいかもしれませんね。
その他の回答 (3)
- Lean
- ベストアンサー率72% (435/603)
>ドメイン:example.com >アカウント:hogehoge >メールアドレス:info@hogehoge.example.com レンタルサーバのようですから、バーチャルホストですかね。 バーチャルホストでのメールアドレスに.forwardファイルは効かないのでは?(sendmailは最近使用していないので間違っているかもしれませんが。。) >下記のように.forwardを書きました。 >\info: "|user/bin/php /home/hogehoge/public_html/index.php" ↑って.forwardの形式ではないですよね?
補足
.forwardによる、メールの転送はできました。 『\info, 転送先メールアドレス』 下記のようにスクリプトを実行させうようにしてもできません。 \info, "|/usr/bin/php -f /home/hogehoge/public_html/index.php" エラーのようなものはどこで見れば良いのでしょうか? エラーログ(おそらくApache)には何も表示されていません。 レンタルサーバーのSendmailのエラーログを見る術はあるのでしょうか。
- yambejp
- ベストアンサー率51% (3827/7415)
とりあえず#1さんも書いてある通り、phpの実行ファイルまでの フルパス指定があっているか確認のこと。 また念のため-fをつけてみる。 \info, "|/user/bin/php -f /home/hogehoge/public_html/index.php" ここでのindex.phpは標準入力をきちんと処理していますか? phpファイルを実行するだけではそのまま標準出力にながれて おしまいだとおもいますが実行したあとどうしたいのか書かないことには・・
補足
/home/hogehoge/public_html/index.php までのパスは合っているはずです。 文字が抜けていたりも確認しましたが大丈夫でした。 標準入力とはどういったものなのでしょうか。 index.phpはそこにファイルを生成するだけにしています。 ファイルが生成されれば成功と確認しています。 メール受信がトリガーになって実行されるかテストしたいのです。 このあとは、これによって受信したメールをデータベースに格納することもしていきたいと思います。
- shogo0809
- ベストアンサー率47% (25/53)
> \info: "|user/bin/php /home/hogehoge/public_html/index.php" PHPの実行パス合ってますか?普通は /usr/bin/php または /usr/local/bin/php だと思いますが…… あと、sendmailのログを見れば何かわかるかもしれないです。
補足
有難うございます。 \info: "|usr/bin/php /home/hogehoge/public_html/index.php" でした。 ですが、同じく実行してくれません。 レンタルサーバーなのでSendmailのログを見ることもできません。 (Apacheのエラーログは見ることができます。)
補足
他のサーバーで試してみると、smrshが効いていると エラーメールが返ってきますが、 このサーバーでは返ってきません。 smrshが効いていないか上手くいっていないかだと思いますが・・・