2016-12-28 140 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”]'是文件名