@ 2013-11-08T08:34:03Z <?php
function isAlive($services) {
foreach ($services as $address => $port) {
$service = array(
"address" => $address,
"port" => $port,
"errno" => "",
"errstr" => "",
"alive" => false
);
$sock = @fsockopen($address, $port, $service["errno"], $service["errstr"], 5);
if ($sock) {
fprintf($sock, "GET / HTTP/1.0\r\n");
fprintf($sock, "\r\n");
$service["response"] = stream_get_contents($sock);
if ($service["response"]) {
$service["alive"] = true;
}
fclose($sock);
}
yield $service;
}
}
$services = array(
"php.net" => 80,
"explain.so" => 80,
"do1asdasdas.net" => 80
);
foreach (isAlive($services) as $service) {
if (!$service["alive"]) {
printf(
"%s:%d: failure (%d) %s\n",
$service["address"], $service["port"], $service["errno"], $service["errstr"]);
} else {
printf(
"%s:%d: alive: %d bytes\n",
$service["address"], $service["port"], strlen($service["response"]));
}
}
?>
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 php.net:80: failure (0) php_network_getaddresses: getaddrinfo for php.net failed: System error
explain.so:80: failure (0) php_network_getaddresses: getaddrinfo for explain.so failed: System error
do1asdasdas.net:80: failure (0) php_network_getaddresses: getaddrinfo for do1asdasdas.net failed: System error
Output for 5.5.0 - 5.5.38 , 5.6.0 - 5.6.38 , 7.0.0 - 7.0.32 , 7.1.0 - 7.1.25 , 7.2.0 - 7.2.13 , 7.3.0 - 7.3.12 , 7.3.32 - 7.3.33 , 7.4.0 , 7.4.26 - 7.4.33 , 8.0.13 - 8.0.30 php.net:80: failure (0) php_network_getaddresses: getaddrinfo failed: System error
explain.so:80: failure (0) php_network_getaddresses: getaddrinfo failed: System error
do1asdasdas.net:80: failure (0) php_network_getaddresses: getaddrinfo failed: System error
Output for 7.2.29 - 7.2.33 , 7.3.16 - 7.3.31 , 7.4.3 - 7.4.25 , 8.0.0 - 8.0.12 php.net:80: failure (0) php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
explain.so:80: failure (0) php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
do1asdasdas.net:80: failure (0) php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
Output for 5.4.0 - 5.4.45 Parse error: syntax error, unexpected '$service' (T_VARIABLE) in /in/mMmXU on line 23
Process exited with code 255 . Output for 4.4.2 - 4.4.9 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 Parse error: syntax error, unexpected T_VARIABLE in /in/mMmXU on line 23
Process exited with code 255 . Output for 4.3.0 - 4.3.1 , 4.3.5 - 4.3.11 , 4.4.0 - 4.4.1 , 5.0.0 - 5.0.5 Parse error: parse error, unexpected T_VARIABLE in /in/mMmXU on line 23
Process exited with code 255 . Output for 4.3.2 - 4.3.4 Parse error: parse error in /in/mMmXU on line 23
Process exited with code 255 . preferences:dark mode live preview
233.82 ms | 401 KiB | 424 Q