以下のようにPHPでバックグラウンドで動かしたいのですがうまく動きません。

どうしたらいいのでしょうか?
<?php
class aaaaa extends TestClass
{
// ビジネスロジック部分を書く
public function execute() {
exec("/usr/local/bin/php /test/test_mail.php $id > /dev/null & ",$aaa);
}
}
?>

test_mail.phpの中身です。
<?php
class MailTest
{
function execute()
{
$testid = $_SERVER["argv"][1];
error_log( "testid = ".$testid);
var_dump("1111");
}

}
$test = new MailTest();
$test->execute();
?>

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2009/02/23 19:45:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント35pt

以下の確認をお願いします。

  1. "/usr/local/bin/php" はコマンドライン版(CLI)ですか?(コンパイルして利用できる状態になっていますか?)
  2. "test_mail.php"の冒頭に "#!/usr/local/bin/php -q" は記入されていますか?
  3. "test_mail.php" に実行可能属性は付いていますか?
id:hopefully

ありがとうございます。

1:コマンドから実行できます。

2:無いので、追加しました。

3:ファイルの権限は777にしてます。

でも駄目でした・・・

シェルにしないと駄目何ですかねーー・・

2009/02/17 19:03:52
id:pahoo No.2

回答回数5960ベストアンサー獲得回数633

ポイント35pt

シェルから直接

> /usr/local/bin/php /test/test_mail.php hogehoge

を実行した場合には動作するのですよね?


それから、ルートに "/test" フォルダはありますよね?

id:hopefully

ありますね。

きちんと動きます。

2009/02/17 22:52:03

コメントはまだありません

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

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

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

回答リクエストを送信したユーザーはいません