I m not sure there s a "best" way, but there are definitely a few ways you could manage it.
- Use the Net_Ping PEAR package
- Execute the
ping
command locally using exec()
or something similar, ie exec("ping $stuff",$output);
. This obviously couples you to an external program, which can be undesirable, and you d have to parse the output.
- Implement your own ping using socket handlers. Probably not the easiest method.
It sounds like you actually want more than just the usual "Is the server alive?" type of check, so if it was me, I d go with the PEAR package. It s already got some result parsing built in. I m not a huge fan of PEAR, but there s no point in re-inventing the wheel.