2013-04-17 168 views
1

我必須在後臺執行一個php腳本(test.php)。我試過,但它不工作: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秒鐘一次,並且它工作正常,除非我嘗試在第一個腳本的後臺執行它。

它可能是一個服務器問題?是否有另一種方法在後臺運行腳本?

回答

0

使用了shell_exec和nohup的

shell_exec("nohup php /home/megad404/www/prove/test.php > /dev/null & echo $!"); 
+0

它不工作。 test.php文件可能是錯誤的嗎? – Megadv

+0

打開控制檯並寫入命令'php/home/megad404/www/prove/test.php'。查看結果或錯誤異常。我希望你使用* nix OS,並且你已經設置了環境變量php –

+0

如何打開控制檯? – Megadv