3v4l.org

run code in 300+ PHP versions simultaneously
<?php $now = gmdate('D, d M Y H:i:s') . ' GMT'; header('Expires: ' . $now); header('Last-Modified: ' . $now); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Pragma: no-cache"); error_reporting(0); $copyright = "By www.magnaromagna.it"; $name = $_POST["name"]; $day = $_POST["day"]; $month = $_POST["month"]; $year = $_POST["year"]; $cycle = $_POST["cycle"]; $chartsize = $_POST["chartsize"]; $name = strip_tags($name); if($chartsize == "small") { $chartwidth = 450; $chartheight = 252; $tablewidth = 500; } elseif($chartsize == "medium") { $chartwidth = 625; $chartheight = 350; $tablewidth = 655; } else { $chartwidth = 800; $chartheight = 448; $tablewidth = 820; } $date = date("m/d/y"); function drawRhythm($daysalive, $period, $color) { //$period = $period * 2; global $cycle, $image, $chartwidth, $chartheight; $centerday = $daysalive - ($cycle / 2); $plotscale = ($chartheight - 25) / 2; $plotcenter = ($chartheight - 25) / 2; // draw the curve for($count = 0; $count <= $cycle; $count ) { echo $date; $phase = ((($centerday) $count) % $period) / $period * 2 * pi(); $y = 1 - sin($phase) * (float)$plotscale (float)$plotcenter; if($count > 0) { imageLine($image, $oldx, $oldy, $count * $chartwidth / $cycle, $y, $color); } $oldx = $count * $chartwidth / $cycle; $oldy = $y; } } $data1 = gregorianToJD($month, $day, $year) ; $data2 = gregorianToJD(date( "m"), date( "d"), date( "Y")) ; $pastdays = abs($data1 - $data2); // $pastdays = abs(gregorianToJD($month, $day, $year) - gregorianToJD(date( "m"), date( "d"), date( "Y"))); // $image = imageCreate($chartwidth, $chartheight); $colorbackground = imageColorAllocate($image, 0, 0, 0); $colorforeground = imageColorAllocate($image, 255, 255, 255); $colorgrid = imageColorAllocate($image, 255, 255, 255); $colorborder = imageColorAllocate($image, 175, 175, 175); $colorcross = imageColorAllocate($image, 255, 255, 255); $colorphysical = imageColorAllocate($image, 0, 0, 255); $coloremotional = imageColorAllocate($image, 255, 0, 0); $colorintellectual = imageColorAllocate($image, 0, 255, 0); $colorintuitive = imageColorAllocate($image, 255, 0, 255); $colorawareness = imageColorAllocate($image, 255, 125, 0); $colorspiritual = imageColorAllocate($image, 0, 255, 255); $coloraesthetic = imageColorAllocate($image, 255, 255, 0); imageFilledRectangle($image, 0, 0, $width - 1, $height - 1, $colorbackground); $nrsecondsperday = 60 * 60 * 24; $diagramdate = time() - ($cycle / 2 * $nrsecondsperday) $nrsecondsperday; $flagcount = 1; for ($index = 1; $index < $cycle; $index ) { $thisdate = getDate($diagramdate); $countCoord = ($chartwidth / $cycle) * $index; imageLine($image, $countCoord, $chartheight - 25, $countCoord, $chartheight - 20, $colorgrid); $flag = $flagcount%2; if($cycle == 60 && $flag == 0) { imageString($image, 3, $countCoord - 2, $chartheight - 16, $thisdate[ "mday"], $colorgrid); } elseif($cycle != 60) { imageString($image, 3, $countCoord - 5, $chartheight - 16, $thisdate[ "mday"], $colorgrid); } $flagcount ; $diagramdate = $nrsecondsperday; } imageRectangle($image, 0, 0, $chartwidth - 1, $chartheight - 20, $colorborder); imageLine($image, 0, ($chartheight - 20) / 2, $chartwidth, ($chartheight - 20) / 2, $colorcross); imageLine($image, $chartwidth / 2, 0, $chartwidth / 2, $chartheight - 20, $colorcross); drawRhythm($pastdays, 23, $colorphysical); drawRhythm($pastdays, 28, $coloremotional); drawRhythm($pastdays, 33, $colorintellectual); drawRhythm($pastdays, 38, $colorintuitive); drawRhythm($pastdays, 43, $coloraesthetic); drawRhythm($pastdays, 48, $colorawareness); drawRhythm($pastdays, 53, $colorspiritual); $subnum = rand(0, 999999); $subnum = "images/dummies/".$subnum.".gif"; imageGIF($image,$subnum); imagedestroy($image); ?> <html> <head> <title>Risultato Bioritmo</title> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE"> <meta name="robots" content="index,follow" /> <link rel="stylesheet" type="text/css" href="biostyle.css"> </head> <body> <div align="center"><center> <table border="0" cellpadding="3" cellspacing="0" width="<?echo"$tablewidth";?>"> <TR><TD align = "right"><a href="http://www.magnaromagna.it/bioritmo/" target="_blank" class="pagelinks">Calcola altro bioritmo</a> </TD></TR></TABLE> </div> <div align="center"><center> <table border="1" cellpadding="7" cellspacing="0" width="<?echo"$tablewidth";?>" class="outertable"> <tr> <td align="center" class="genericstyle"><p class="bluesubheader"> <? if($name != "") { echo"Bioritmo per $name<br>"; } else { echo"Mappa dei tuoi bioritmi<br>"; } ?> <? echo"Nascita: $month/$day/$year<br> Data di oggi: $date"; ?> </p> <p align="center"><img src="<?echo"$subnum";?>"> Rosso: Ciclo Emozionale&nbsp;|&nbsp; Blu: Ciclo Fisico&nbsp;|&nbsp; Verde: Ciclo Intelligenza <br> Viola: Intuito&nbsp;|&nbsp; Acqua: Ciclo Spirituale&nbsp;|&nbsp; Giallo: Ciclo Estetico&nbsp;|&nbsp; Arancione:Ciclo Consapevolezza</p> <p align="left"><span class="bluesubheader"><br> Capire il tuo bioritmo</span></p> </td> </tr> </table> </center></div> <div align="center"><center> <table border="0" cellpadding="3" cellspacing="0" width="<?echo"$tablewidth";?>"> <TR><TD align = "right"><a href="http://www.magnaromagna.it/bioritmo/" class="pagelinks" target="_blank">Calcola altro bioritmo</a> </TD></TR></TABLE> </div> <div align="center"><center> <table border="0" cellpadding="7" cellspacing="0" width="300"> <tr> <td align="center" class="copyright">Copyright Magnaromagna</td> </tr> </table> </center></div> </body> </html>

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.170.0000.05019.19
5.4.160.0000.04019.13
5.4.150.0070.08019.22
5.4.140.0130.03016.50
5.4.130.0030.03716.52
5.4.120.0070.05016.41
5.4.110.0100.03016.43
5.4.100.0000.04016.30
5.4.90.0030.03316.42
5.4.80.0030.03716.50
5.4.70.0070.03016.48
5.4.60.0000.03716.37
5.4.50.0030.03316.25
5.4.40.0000.03716.27
5.4.30.0030.04016.39
5.4.20.0030.03716.27
5.4.10.0000.03716.50
5.4.00.0000.03715.86
5.3.270.0030.04314.76
5.3.260.0000.06314.62
5.3.250.0000.06714.62
5.3.240.0070.05014.54
5.3.230.0070.04014.62
5.3.220.0030.03714.73
5.3.210.0000.04314.57
5.3.200.0000.04014.60
5.3.190.0030.05314.64
5.3.180.0000.04014.57
5.3.170.0000.04014.63
5.3.160.0030.04314.59
5.3.150.0030.04014.61
5.3.140.0000.04014.46
5.3.130.0000.04314.63
5.3.120.0000.04314.63
5.3.110.0000.04014.57
5.3.100.0000.04014.07
5.3.90.0100.03314.18
5.3.80.0070.03014.05
5.3.70.0000.03713.99
5.3.60.0070.03014.06
5.3.50.0070.03314.01
5.3.40.0030.03313.95
5.3.30.0070.03013.91
5.3.20.0070.03313.70
5.3.10.0070.03313.61
5.3.00.0030.03313.66

preferences:
143.94 ms | 1394 KiB | 7 Q