3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Enter your code here, enjoy! function hmac($algo,$data,$passwd){ /* md5 and sha1 only */ $algo=strtolower($algo); //echo $algo; $p=array('md5'=>'greatherH32','sha1'=>'H40'); if(strlen($passwd)>64) { $passwd=pack($p[$algo],$algo($passwd)); //echo 'pass greater than 64'.chr(13); //echo $passwd; } if(strlen($passwd)<64) { $passwd=str_pad($passwd,64,chr(0)); //echo 'pass smaller than 64'.chr(13); //echo $passwd; } $ipad=substr($passwd,0,64) ^ str_repeat(chr(0x36),64); #echo 'ipad: '.$ipad.chr(13); $opad=substr($passwd,0,64) ^ str_repeat(chr(0x5C),64); echo 'Hex IPAD'.bin2hex($ipad).$opad.chr(13); echo 'Hex OPAD'.bin2hex($opad).$opad.chr(13); '#echo 'opad: '.$opad.chr(13); $hashedIpadData =$algo($ipad.$data); echo 'hashedIpadData: '.$hashedIpadData.chr(13); $packedIpdatData=pack($p[$algo],$hashedIpadData); echo 'packedIpdatData: '.$packedIpdatData.chr(13); $opadPack = $opad.$packedIpdatData; echo 'opadPack: '.$opadPack.chr(13); return $algo($opadPack); } # XXX ePay.bg URL (https://devep2.datamax.bg/ep2/epay2_demo/ if POST to DEMO system) $submit_url = 'https://devep2.datamax.bg/ep2/epay2_demo/'; # XXX Secret word with which merchant make CHECKSUM on the ENCODED packet $secret = 'YYBW64GVCVRRP5759A0QFDRXBYZQF5HV3SLTYN14RTWGRPTX8YF2R5UUET7BCT6E'; $min = 'D544248794'; $invoice = '173910'; # XXX Invoice $sum = '16.99'; # XXX Ammount $exp_date = '08.01.2014 12:24:44'; # XXX Expiration date $descr = 'Order: 173910, Product: 9626'; # XXX Description $data = <<<DATA MIN={$min} INVOICE={$invoice} AMOUNT={$sum} EXP_TIME={$exp_date} DESCR={$descr} ENCODING=utf-8 DATA; # XXX Packet: # (MIN or EMAIL)= REQUIRED # INVOICE= REQUIRED # AMOUNT= REQUIRED # EXP_TIME= REQUIRED # DESCR= OPTIONAL $ENCODED = base64_encode($data); $CHECKSUM = hmac('sha1', $ENCODED, $secret); # XXX SHA-1 algorithm REQUIRED echo mb_internal_encoding() . '<br />'; echo mb_regex_encoding(); echo <<<HTML <HTML> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> </head> <BODY TEXT=#000000 BGCOLOR=#FFFFFF> <p>{$ENCODED}</p> <p>{$CHECKSUM}</p> 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.230.0170.04312.40
5.4.220.0100.04912.40
5.4.210.0120.04812.40
5.4.200.0220.08512.40
5.4.190.0130.04312.39
5.4.180.0140.04712.39
5.4.170.0150.04312.40
5.4.160.0140.04512.40
5.4.150.0110.04412.39
5.4.140.0110.04512.09
5.4.130.0100.04512.07
5.4.120.0100.04912.03
5.4.110.0140.04612.03
5.4.100.0130.04512.03
5.4.90.0140.05412.03
5.4.80.0120.05012.03
5.4.70.0140.04912.03
5.4.60.0110.05112.02
5.4.50.0120.04912.02
5.4.40.0130.04812.01
5.4.30.0130.04812.01
5.4.20.0140.04712.00
5.4.10.0140.04712.01
5.4.00.0160.04311.50
5.3.280.0200.04712.71
5.3.270.0180.05312.72
5.3.260.0130.05312.71
5.3.250.0180.04912.72
5.3.240.0120.05312.72
5.3.230.0150.05312.71
5.3.220.0160.04912.68
5.3.210.0150.05312.68
5.3.200.0150.05312.68
5.3.190.0120.05212.68
5.3.180.0140.05512.68
5.3.170.0160.04712.67
5.3.160.0120.05012.67
5.3.150.0120.04912.68
5.3.140.0100.05212.66
5.3.130.0130.05012.66
5.3.120.0140.05212.66
5.3.110.0150.04912.65
5.3.100.0160.04612.13
5.3.90.0130.05012.10
5.3.80.0110.05412.09
5.3.70.0110.04912.09
5.3.60.0100.04912.08
5.3.50.0150.04612.02
5.3.40.0090.05012.02
5.3.30.0150.04311.98
5.3.20.0120.04511.76
5.3.10.0140.04511.72
5.3.00.0120.03911.71

preferences:
139.75 ms | 1394 KiB | 7 Q