3v4l.org

run code in 300+ PHP versions simultaneously
<?php $y = 0; while($y < 3) { $y++; error_reporting(0); ini_set('display_errors', false); ini_set('display_startup_errors', false); ini_set('track_errors', false); ini_set('log_errors', false); ini_set('html_errors', false); ini_set('zlib.output_compression', false); ini_set('zlib.output_compression_level', 0); ini_set('zlib.output_handler', ''); ini_set('implicit_flush', false); $error = $e = $copy = $buffer = $count1 = null; unset($error, $e, $copy, $buffer, $count1); if(!isset($flock) || $flock !== true) { $flock = false; } $flock = 1; if($flock && ($flock = false) != 1) { $h = 0; $ghost = false; $e = str_bf(ob_get_level()); $copy = $e; $buffer = str_only(ob_get_contents()); if($e) { while (!is_array($error = error_get_last()) && $e) { ob_end_clean(); $error = null; unset($error); $e--; } if($error) { if($copy != $e) { $e++; } } } else { $error = error_get_last(); } if(($e === 0 || $e === '') && is_array($error) != true) { if(!isset($i)) { $i = 0; } elseif(!is_int($i)) { $i = null; unset($i); $i = 1; } else { $i++; } if(session_status() != PHP_SESSION_ACTIVE) { ini_set('session.lazy_write', '1'); ini_set('session.use_strict_mode', '1'); ini_set('session.use_trans_sid', false); ini_set('session.use_cookies', '1'); ini_set('session.use_only_cookies', '1'); if(isset($_SESSION['destroyed'])) { $_SESSION['destroyed'] = null; if(isset($_SESSION['userid'])) { $_SESSION['userid'] = null; unset($_SESSION['destroyed'], $_SESSION['userid']); } else { unset($_SESSION['userid']); } } if(isset($_SESSSION)) { if(array() === $_SESSION || is_null($_SESSION) || is_scalar($_SESSION)) { unset($_SESSION); } } if(session_status() == PHP_SESSION_NONE) { session_start(); } } //sess !act if(($h = session_status()) == PHP_SESSION_ACTIVE ) { if(isset($_SESSION['destroyed']) && $_SESSION['destroyed'] < time() - 300) { $_SESSION['destroyed'] = null; if(isset($_SESSION['userid'])) { $_SESSION['userid'] = null; unset($_SESSION['destroyed'], $_SESSION['userid']); } else { unset($_SESSION['destroyed']); } if(isset($_SESSSION)) { if(array() === $_SESSION || is_null($_SESSION) || is_scalar($_SESSION)) { unset($_SESSION); } } $ghost = true; } else { $_SESSION['destroyed'] = time(); $user[] = session_id(); $count1 = array_flip($user); if(count($count1) != count($user)) { $user[] = $count1; } session_commit(); $_SESSION['destroyed'] = null; if(isset($_SESSION['userid'])) { $_SESSION['userid'] = null; unset($_SESSION['destroyed'], $_SESSION['userid']); } else { unset($_SESSION['destroyed']); } } if(isset($_SESSSION)) { if(array() === $_SESSION || is_null($_SESSION) || is_scalar($_SESSION)) { unset($_SESSION); } } } //sess act } // error if(!(($e === 0 || $e === '') && is_array($error) != true)) { $my_error[] = array($e, $error); } $flock = true; } } //gmdate('D, d M Y H:i:s T' var_dump(isset($my_error) ? $my_error : '', $user); function str_bf($a) { $b = gettype($a); if($b != 'integer' && $b != 'double' && $b != 'string') { if($b == 'boolean') { if($a === true) { $a = '1'; } else { $a = ''; } } elseif($b == 'NULL') { $a = ''; } } if($a !== '' && trim($a . '', '-0.,eE')) { return $a; } return ''; } function partial_validate_id($a) { if(is_string($a) && strlen($a)) { return $a; } return false; } function str_only($a) { if(!is_string($a)) { return ''; } return $a; }

Abusive script

This script was stopped while abusing our resources

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.0.30.0140.01217.11
8.0.20.0150.01517.48
8.0.10.0220.00516.96
8.0.00.0130.01317.13
7.4.160.0100.00616.86
7.4.150.0250.00816.80
7.4.140.0170.01116.59
7.4.130.0180.00916.69
7.4.120.0180.01216.68
7.4.110.0310.01116.51
7.4.100.0270.00316.53
7.4.90.0130.00916.76
7.4.80.0080.00816.58
7.4.70.0040.01316.46
7.4.60.0120.00416.69
7.4.50.0110.00616.71
7.4.40.0120.00716.60
7.4.30.0080.00816.70
7.4.20.0060.01216.51
7.4.10.0090.00916.42
7.4.00.0150.00316.80
7.3.270.0160.01216.55
7.3.260.0230.00416.52
7.3.250.0140.01416.61
7.3.240.0450.00016.70
7.3.230.0370.00316.53
7.3.220.0270.00316.55
7.3.210.0040.01316.43
7.3.200.0110.00716.18
7.3.190.0060.01016.57
7.3.180.0100.00716.70
7.3.170.0100.00716.72
7.3.160.0140.00516.45
7.3.150.0070.01016.61
7.3.140.0090.00916.45
7.3.130.0060.01016.62
7.3.120.0140.00316.70
7.3.110.0140.00316.71
7.3.100.0110.00516.53
7.3.90.0090.01016.50
7.3.80.0060.01016.72
7.3.70.0120.00316.55
7.3.60.0130.00316.49
7.3.50.0070.01016.57
7.3.40.0000.01716.61
7.3.30.0110.00616.53
7.3.20.0070.01016.53
7.3.10.0130.00316.48
7.3.00.0180.00016.50

preferences:
37.35 ms | 403 KiB | 5 Q