初めて質問させていただきます。
初めてなので、質問の仕方にも不手際があるかもしれませんが
ご容赦ください。
サーバーはWEBアリーナさんのをお借りしています(webarenasuite2)
メールはPostfixで受信しています。
<<目的>>
メールの受信をトリガーにしてPHPプログラムを起動させようとしております。最終的にはメールの本文などのDBに取り込もうとしていますが、とりあえずプログラムを起動できるかを確認したかったのでメールの内容などは関係なくDBに適当な名前のテーブルを作成するようなプログラムになっています。
<<症状>>
対象のメールアドレスにメールを送ると、エラーメッセージなどは一切返ってきません。が、望む動作も一切しません。
直接test.phpをブラウザで動かすと、DBにテーブルを作成します(望んだ動きです)。
おそらくtest.phpを.forward経由で動かせていないのだろうと思いますが、その理由がわかりません。
自分が確認したことを以下に記します。
(1).forwardの置き場所
プログラム起動ではなく、メール転送の記述を行い、メールの転送が行われることを確認しました。.forwardの置き場所は間違えていないかと思います。
(2).forwardのパスの確認
.forwardには以下の記述がしてあります。
|"/usr/bin/php -q /home/*****/web/test.php"
phpが/usr/bin/phpなのはおそらく間違いないかと思います。
また、絶対パスの指定はtest.phpにrealpathの記述を書いて
確かめました。
(3)パーミッションの確認
.forwardは600
test.php自体や、その上の階層のwebや*****、homeなどもパーミッションも実行権限を与えてみました。755などになっています。
以上です。
2日以上詰まってしまいました。
お手数をおかけしますが、お手すきの方がいらっしゃいましたら、よろしくおねがいします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ANo.1の回答にあるエラーメッセージの
fatal: execvp /user/bin/php: No such file or directory
がコピー&ペーストなら
は/userでなく/usrを指定してみた結果が知りたいです。
この回答への補足
お返事がおくれました。
誤記していたようです。
usrでやったところ、メールログには
status=deferred (Command died with signal 7: "/usr/bin/php -q /home/darts/***/test.php")
と表示されています。
No.2
- 回答日時:
>ちなみに/usr/bin/phpの状態でのメールのlogは
>fatal: execvp /user/bin/php: No such file or directory
>となっていて、ファイルがないといわれています。
改行コードが「CR+LF」になっていませんか?
UNIX系の改行コードは「LF」のため改行コードに「CR+LF」を使用していると
パスが「/user/bin/php[CR]」と解釈されてファイルが見つからないと
いうエラーがでることがよくあります。
この回答への補足
回答をいただきありがとうございます。
改行コードの確認を行いました。
実際にCR+LFになっていたので、喜びいさんでLFにかえたのですが
やはり同じ内容でした。
phpの場所で悩んでいたのですが
findではなくwhereisでphpを叩くと
usr/bin/phpだったので、おそらくこちらで正しいのかなぁと思っています。
その後、phpファイルを介在させるとおかしくなるのかと思い
forwardファイルの中身をコマンドに替えてみました。
内容は
|"touch /hoge"
というものです。
エラーメールが返ってきて
Command died with status 1: "touch /hoge". Command
output: touch: cannot touch `/hoge': Permission denied
ということでした。
やはり、メールからパイプされて、このコマンドなりphpを動かす権限の問題だとは思うのですが・・・
No.1
- 回答日時:
ブラウザ経由ではなく、コンソール経由でphpをたたくと動きますか?
この回答への補足
ご回答いただきありがとうございます。
puttyを利用してログインしていますが、
直接phpを叩いても動かすことが出来ます。
(テーブルが作成されます。)
printでsql文を吐き出させていますが、それも表示されます。
コンソールでfind -name phpを叩いたところ
/usr/bin/php以外に/var/lib/phpという表示が出てきたので
今そっちで試してみています。
/var/lib/phpにするとエラーメールが返ってくるようになりました。
内容としては
Command died with status 1: "/var/lib/php -q
/home/***/web/test.php"
という内容です。
実行権限の問題であるという記述をgoogle先生経由で見つけたので
postfixの設定かと思い、main.cfの
default_privsをnobodyからユーザの名前に変えてみました。
このユーザはtest.phpを作成したユーザです。
それでも同じエラーを吐き出します。
/var/lib/phpに設定した状態でメールのlogを見ると
execvp /var/lib/php: Permission denied
となっているので、どこかの実行権限がおかしいのだと思うのですが・・・
ちなみに/usr/bin/phpの状態でのメールのlogは
fatal: execvp /user/bin/php: No such file or directory
となっていて、ファイルがないといわれています。
どんどんこんがらかっております。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#!/usr/local/bin/php
-
include先でのinclude元の変数...
-
php*.iniファイルが見当たらない!?
-
ローカルでは動くがサーバーで...
-
連続投稿対策
-
別ファイルの変数を呼び出した...
-
phpプログラムでzipファイル...
-
PHPでPostgreSQLに接続できない。
-
xmlの宣言文をPHPで出力するには
-
フォントの色を変えるには?
-
配列とオブジェクトの違い
-
PHP session_destroyとsession...
-
mail関数を使用しても送られない。
-
会員サイトに自動ログインして...
-
iframeからのアクセスか、ブラ...
-
iphoneで虫眼鏡の作り方
-
mb_send_mail でスパム扱いとなる
-
リンク先を隠す方法はないでし...
-
2つの画像ファイルが異なるファ...
-
URLが.PHPってどういう...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別ファイルの変数を呼び出した...
-
include先でのinclude元の変数...
-
別PHPファイルに変数を渡す
-
シェルスクリプトからphpファイ...
-
phpinfo.phpを開くとファイルの...
-
phpの開始タグ及び終了タグ外で...
-
パスワード等が記述されているp...
-
phpのプログラムエラー
-
拡張子なしのファイルを稼働さ...
-
a href リンクタグでだけで 送...
-
1行目の#! "C:\\xampp\\php\\p...
-
codeigniterでcron実行したい
-
PHP(.php)及びJavascrpit(.j...
-
こちらはただの直列処理ですか?
-
phpのソースコードが、そのまま...
-
リクエストURIによってHTML表示...
-
PEARのmimeDecodeでメール解析...
-
入力フォームの空白や改行を制...
-
拡張子php画像をbmp画像等に変...
-
#!/usr/local/bin/phpはどこに...
おすすめ情報