2016-12-28 57 views
0

我得到了下面的代碼:PHP EXEC登錄腳本平行

$arg1 = 'somestring'; 
$myarray = [1,2,3,4,5];//my some array 

foreach($myarray as $val){ 
    $E = exec("php myscript.php $arg1>/dev/null 2>&1 &"); 
} 

同時myscript.php工作的多個實例,但他們中的一些完成的工作有錯誤。我需要捕捉這些錯誤。那麼,我該如何做,並保持腳本並行運行?也許我可以添加一些error_reporting到myscript.php並將錯誤轉儲到單獨的文件?或者是否可以將php exec命令的輸出轉儲到文件中,而父進程不等待輸出?或者我應該爲此目的使用一些第三方軟件嗎?任何想法都會受到歡迎。謝謝。

+1

「也許我可以添加一些error_reporting到myscript.php並將錯誤轉儲到一個單獨的文件不知何故「好主意 – 2016-12-28 21:20:09

+0

任何想法如何做到這一點? – Masha

回答

0

在您可以指定錯誤記錄和文件\ loaction

ini_set("log_errors","1"); 
ini_set("error_log",__DIR__ . '/Errors.txt'); 

如果你想讓它在默認目錄,這將日誌寫入到同一目錄中的腳本文件,在腳本的頂部刪除__DIR__部分。

如果你想每一個參數一個日誌,你能說出這麼:

ini_set("error_log",__DIR__ . '/Errors'.$argv['2'].'.txt'); 

$argv['2']是他第一次command line argument, $的argv [「1」]'是文件名