3v4l.org

run code in 300+ PHP versions simultaneously
<?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"])); } } ?>
Output for git.master, git.master_jit, rfc.property-hooks
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

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
41.82 ms | 402 KiB | 8 Q