同時に 2 つ以上の dns 要求を作成するルーチンが必要ですが、最初/最速の結果のみを使用します。
1 つの結果しか得られないように、子から回答を返すにはどうすればよいですか?
$pid = pcntl_fork();
if ($pid == -1) die("could not fork");
if ($pid) {
//parent
} else {
$pid2 = pcntl_fork();
if ($pid2 == -1) die("could not fork");
if ($pid2) {
//parent-child
exec("/usr/bin/dig @8.8.8.8 $name A +short +time=1+tries=1",$ips_array,$digreturn);
} else {
exec("/usr/bin/dig @8.8.4.4 $name A +short +time=1 +tries=1",$ips_array,$digreturn);
}
}
print_r ($ips_array);
両方のリクエストが返された場合、これは 2 倍の回答を返します。