PHP

Как сделать вывод PING в PHP

Есть программа RCON для сервера Minecraft, и хочется сделать кнопочку "Доступность сервера", при нажатии на которую будет выводится пинг до сервера.
Подскажите, как это можно реализовать?

P.S.
$result = exec("ping ИПШНИК");
Ничего не выдает, программа виснет.
$result = system("ping ИПШНИК");
Выдает кучу фигни, и ноль информации
А хочется, что бы была 1 цифра одного пинга
а у тебя пхп под виндой или под линуксом? если под виндой, то вроде как есть расширение php_com_dotnet.dll, из-под которого можно попробовать подрубиться к WMI и сделать пинг командой:
SELECT * FROM Win32_PingStatus WHERE Address = 'remote_server_ip'
Владимир Громов
Владимир Громов
83 699
Лучший ответ
если под линуксом, то там пинг бесконечный, а exec - синхронная команда, вот и завис тебе
Не, отец родной, если Вам чотатам "выдает кучу фигни" -- фигню в студию: в ней может содержаться чонить важное для отладки.

И таки-да, в линуксе ping по умолчанию работает пока его не остановят. Число пингов надо открыто задавать ключом -c [число], например:

ping -c 5 xxx.xxx.xxx.xxx

Ну и документацию неплохо бы почитать, и по exec(), и по ping. По умолчанию exec() возвращает последнюю строку, выведенную вызванной программой. В случае с ping это будет что-то типа

rtt min/avg/max/mdev = 78.006/85.088/94.880/5.753 ms

но никак не "одна цифра"...
Витя Зворский
Витя Зворский
94 502
Что-то мне подсказывает, что пинг никак не связан с доступностью сервера. Адрес может пинговаться, а программа-сервер может быть не запущена. Кроме того, адрес может принадлежать роутеру, а сервер может находиться за NAT и вообще быть выключенным. Или ICMP-пакеты могут просто дропаться сервером, и на пинг он не ответит, но при этом будет работать.
Так что тебе нужно не пинги проверять, а подключаться к порту, на котором висит сервер. Если подключение есть, значит что-то там работает. А если после подключения ещё и приглашение правильное выдалось, значит работает то, что нужно.

Что именно выдаёт system? Почему ты называешь это фигнёй, но даже не показал, что там?