php exec记录并行脚本

时间:2016-12-28 21:15:08

标签: php

我收到了以下代码:

$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的多个实例同时工作,但其中一些实例完成了错误。我需要捕获这些错误。那么我怎么能这样做并保持脚本并行运行?也许我可以在myscript.php中添加一些error_reporting并以某种方式将错误转储到单独的文件中?或者是否可以将php exec命令的输出转储到没有父进程等待输出的文件?或者我应该为此目的使用某些第三方软件?任何想法都会受到欢迎。谢谢。

1 个答案:

答案 0 :(得分: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']`是文件名