1

同時に 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 倍の回答を返します。

4

1 に答える 1