1.x-dev
1.9999999.9999999.9999999-devA PHP class to ping hosts.
MIT
A PHP class to ping hosts.
, (*1)
A PHP class to ping hosts., (*3)
There are a ton of different methods of pinging a server using PHP, and I've found most to be poorly documented or downright dangerous in their implementation., (*4)
Therefore, I've created this simple class, which incorporates the three most popular ping methods (exec()
with the system's ping
utility, fsockopen()
, and socket_create()
). Each method has its benefits and drawbacks, and may work better or worse on a particular system., (*5)
$ composer require geerlingguy/ping
This is a very simple class. Just create an instance, and run ping()
., (*6)
$host = 'www.example.com'; $ping = new \JJG\Ping($host); $latency = $ping->ping(); if ($latency !== false) { print 'Latency is ' . $latency . ' ms'; } else { print 'Host could not be reached.'; }
You can also specify the ttl (maximum hops) and timeout when creating the instance:, (*7)
$ttl = 128; $timeout = 5; $ping = new \JJG\Ping($host, $ttl, $timeout);
...or using the setTtl()
or setTimeout()
methods:, (*8)
$ping = new \JJG\Ping($host); $ping->setTtl(128); $ping->setTimeout(5);
You can change the host using the setHost()
method:, (*9)
$ping = new \JJG\Ping($host); ... $ping->setHost('www.anotherexample.com');
Ping is licensed under the MIT (Expat) license. See included LICENSE.md., (*10)
Ping is maintained by Jeff Geerling, and is used to check servers for Server Check.in, an inexpensive website and server uptime monitoring service., (*11)
A PHP class to ping hosts.
MIT