我收到了以下代码:
$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命令的输出转储到没有父进程等待输出的文件?或者我应该为此目的使用某些第三方软件?任何想法都会受到欢迎。谢谢。
答案 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']`是文件名