Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php执行日志并行脚本_Php - Fatal编程技术网

php执行日志并行脚本

php执行日志并行脚本,php,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的多个实例同时工作,但其中一些实例在完成工作时出错。我需要捕捉这些错误。那么,我如何做到这一点并保持脚本并行运行呢?也许

我得到了以下代码:

$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中添加一些错误报告,并以某种方式将错误转储到单独的文件中?或者,是否可以将php exec命令的输出转储到一个文件中,而无需父进程等待输出?或者我应该为此使用一些第三方软件吗?任何想法都欢迎。多谢各位

在脚本顶部,您可以指定错误日志记录和文件操作

ini_set("log_errors","1");
ini_set("error_log",__DIR__ . '/Errors.txt');
这将把日志写入与脚本文件相同的目录,如果您想在默认目录中删除
\uuu DIR\uu
部分

如果希望每个参数有一个日志,可以将其命名为:

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

$argv['2']
是他第一个
命令行参数,
$argv['1']`是文件名

“也许我可以在myscript.php中添加一些错误报告,并以某种方式将错误转储到一个单独的文件”好主意有什么办法吗?