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( "castel.be" => 80, "wardkennes.be" => 80, "lyrecomovies.com" => 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
castel.be:80: failure (0) php_network_getaddresses: getaddrinfo for castel.be failed: System error wardkennes.be:80: failure (0) php_network_getaddresses: getaddrinfo for wardkennes.be failed: System error lyrecomovies.com:80: failure (0) php_network_getaddresses: getaddrinfo for lyrecomovies.com 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:
71.31 ms | 402 KiB | 8 Q