1

バックグラウンドで php スクリプト (test.php) を実行する必要があります。私はこれを試しましたが、うまくいきません:

<?
$cmd = "php /home/megad404/www/prove/test.php &> /dev/null &";
exec('/bin/bash -c "'.$cmd.'"',$output,$return);
if($return===0)
{
    echo 'Successful';
} 
else
{
    echo 'Unsuccessful';
}
?>

「成功」を返しますが、test.phpを実行しません

test.php:

<?
file_put_contents(date("s"),"");
sleep(5);
file_put_contents(date("s"),"");
sleep(5);
file_put_contents(date("s"),"");
?>

test.php は 5 秒ごとにファイルを書き込み、最初のスクリプトを使用してバックグラウンドで実行しようとする場合を除いて、正常に動作します。

サーバーの問題でしょうか?バックグラウンドでスクリプトを実行する別の方法はありますか?

4

2 に答える 2

1

shell_exec と nohup を使用する

shell_exec("nohup php /home/megad404/www/prove/test.php > /dev/null & echo $!");
于 2013-04-17T12:56:31.707 に答える