shell_exec("traceroute IPaddress)
戻り値traceroute to IPaddress (IPaddress), 30 hops max, 40 byte packets
問題が発生した場所を特定できるように、ホップの実際のリストを取得するにはどうすればよいですか?
shell_exec("traceroute IPaddress)
戻り値traceroute to IPaddress (IPaddress), 30 hops max, 40 byte packets
問題が発生した場所を特定できるように、ホップの実際のリストを取得するにはどうすればよいですか?
stderr
これらのメッセージは、通常の の代わりに書き込まれるはずなstdout
ので、出力に表示される理由がよくわかりません。
出力とプロセスの戻りコードの両方をキャプチャするため、代わりにshell_exec()
使用することをお勧めします。exec()
exec('traceroute example.com 2>&1', $out, $code);
if ($code) {
die("An error occurred while trying to traceroute: " . join("\n", $out);
}
print_r($out);
コマンドを少し高速化するには、-n
実行時にオプションを使用traceroute
して、中間ホップの DNS ルックアップを行う必要がないようにすることができます。
traceroute
実行には時間がかかる場合があることに注意してください。コマンドラインで実行すると、* * *
時間がかかる行が表示されることがあります。
exec を使用して、その 2 番目のパラメーターを確認します。
string exec ( string $command [, array &$output [, int &$return_var ]] )
例 :
<?php
exec('traceroute test.com -m 2', $output);
var_dump($output);