Я хочу пинговать диапазон ips на сервере, на котором работает Unix
exec('ping -c 4 '.$ip, $output, $return_var);
Проблема в том, что он не правильно пропингует ips, который на самом деле пингуется, но не может быть найден в ns_lookup в cmd. Я имею в виду, что некоторые из этих ips пингуются, а некоторые нет. На localhost, который запускает windows, он работает нормально.
это массив $ output, который я получаю, когда пингую этот ip на сервере (работает под Unix):
array(5) {
[0]=>
string(54) "PING 91.208.144.2 (91.208.144.2) 56(84) bytes of data."[1]=>
string(0) ""[2]=>
string(36) "--- 91.208.144.2 ping statistics ---"[3]=>
string(64) "4 packets transmitted, 0 received, 100% packet loss, time 2999ms"[4]=>
string(0) ""}
вот массив $ output, который я получаю, когда пингую его на localhost (в Windows):
array(11) {
[0]=>
string(0) ""[1]=>
string(43) "Pinging 91.208.144.2 with 32 bytes of data:"[2]=>
string(50) "Reply from 91.208.144.2: bytes=32 time=9ms TTL=248"[3]=>
string(51) "Reply from 91.208.144.2: bytes=32 time=10ms TTL=248"[4]=>
string(51) "Reply from 91.208.144.2: bytes=32 time=11ms TTL=248"[5]=>
string(50) "Reply from 91.208.144.2: bytes=32 time=8ms TTL=248"[6]=>
string(0) ""[7]=>
string(33) "Ping statistics for 91.208.144.2:"[8]=>
string(56) " Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),"[9]=>
string(46) "Approximate round trip times in milli-seconds:"[10]=>
string(48) " Minimum = 8ms, Maximum = 11ms, Average = 9ms"}
exec и ping доступны на сервере, потому что они отлично работают с ips, которые проверяются и могут быть просмотрены в cmd.
Есть идеи ?
Задача ещё не решена.
Других решений пока нет …