3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Merchant key here as provided by Payu $MERCHANT_KEY = "JBZaLc"; // Merchant Salt as provided by Payu $SALT = "GQs7yium"; // End point - change to https://secure.payu.in for LIVE mode $PAYU_BASE_URL = "https://test.payu.in"; $action = ''; $posted = array(); if(!empty($_POST)) { //print_r($_POST); foreach($_POST as $key => $value) { $posted[$key] = $value; } } $formError = 0; if(empty($posted['txnid'])) { // Generate random transaction id $txnid = substr(hash('sha256', mt_rand() . microtime()), 0, 20); } else { $txnid = $posted['txnid']; } $hash = ''; // Hash Sequence $hashSequence = "key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5|udf6|udf7|udf8|udf9|udf10"; if(empty($posted['hash']) && sizeof($posted) > 0) { if( empty($posted['key']) || empty($posted['txnid']) || empty($posted['amount']) || empty($posted['firstname']) || empty($posted['email']) || empty($posted['phone']) || empty($posted['productinfo']) || empty($posted['surl']) || empty($posted['furl']) || empty($posted['service_provider']) ) { $formError = 1; } else { //$posted['productinfo'] = json_encode(json_decode('[{"name":"tutionfee","description":"","value":"500","isRequired":"false"},{"name":"developmentfee","description":"monthly tution fee","value":"1500","isRequired":"false"}]')); $hashVarsSeq = explode('|', $hashSequence); $hash_string = ''; foreach($hashVarsSeq as $hash_var) { $hash_string .= isset($posted[$hash_var]) ? $posted[$hash_var] : ''; $hash_string .= '|'; } $hash_string .= $SALT; $hash = strtolower(hash('sha512', $hash_string)); $action = $PAYU_BASE_URL . '/_payment'; } } elseif(!empty($posted['hash'])) { $hash = $posted['hash']; $action = $PAYU_BASE_URL . '/_payment'; } ?> <html> <head> <script> var hash = '<?php echo $hash ?>'; function submitPayuForm() { if(hash == '') { return; } var payuForm = document.forms.payuForm; payuForm.submit(); } </script> </head> <body onload="submitPayuForm()"> <h2>PayU Form</h2> <br/> <?php if($formError) { ?> <span style="color:red">Please fill all mandatory fields.</span> <br/> <br/> <?php } ?> <form action="<?php echo $action; ?>" method="post" name="payuForm"> <input type="hidden" name="key" value="<?php echo $MERCHANT_KEY ?>" /> <input type="hidden" name="hash" value="<?php echo $hash ?>"/> <input type="hidden" name="txnid" value="<?php echo $txnid ?>" /> <table> <tr> <td><b>Mandatory Parameters</b></td> </tr> <tr> <td>Amount: </td> <td><input name="amount" value="<?php echo (empty($posted['amount'])) ? '' : $posted['amount'] ?>" /></td> <td>First Name: </td> <td><input name="firstname" id="firstname" value="<?php echo (empty($posted['firstname'])) ? '' : $posted['firstname']; ?>" /></td> </tr> <tr> <td>Email: </td> <td><input name="email" id="email" value="<?php echo (empty($posted['email'])) ? '' : $posted['email']; ?>" /></td> <td>Phone: </td> <td><input name="phone" value="<?php echo (empty($posted['phone'])) ? '' : $posted['phone']; ?>" /></td> </tr> <tr> <td>Product Info: </td> <td colspan="3"><textarea name="productinfo"><?php echo (empty($posted['productinfo'])) ? '' : $posted['productinfo'] ?></textarea></td> </tr> <tr> <td>Success URI: </td> <td colspan="3"><input name="surl" value="<?php echo (empty($posted['surl'])) ? '' : $posted['surl'] ?>" size="64" /></td> </tr> <tr> <td>Failure URI: </td> <td colspan="3"><input name="furl" value="<?php echo (empty($posted['furl'])) ? '' : $posted['furl'] ?>" size="64" /></td> </tr> <tr> <td colspan="3"><input type="hidden" name="service_provider" value="payu_paisa" size="64" /></td> </tr> <tr> <td><b>Optional Parameters</b></td> </tr> <tr> <td>Last Name: </td> <td><input name="lastname" id="lastname" value="<?php echo (empty($posted['lastname'])) ? '' : $posted['lastname']; ?>" /></td> <td>Cancel URI: </td> <td><input name="curl" value="" /></td> </tr> <tr> <td>Address1: </td> <td><input name="address1" value="<?php echo (empty($posted['address1'])) ? '' : $posted['address1']; ?>" /></td> <td>Address2: </td> <td><input name="address2" value="<?php echo (empty($posted['address2'])) ? '' : $posted['address2']; ?>" /></td> </tr> <tr> <td>City: </td> <td><input name="city" value="<?php echo (empty($posted['city'])) ? '' : $posted['city']; ?>" /></td> <td>State: </td> <td><input name="state" value="<?php echo (empty($posted['state'])) ? '' : $posted['state']; ?>" /></td> </tr> <tr> <td>Country: </td> <td><input name="country" value="<?php echo (empty($posted['country'])) ? '' : $posted['country']; ?>" /></td> <td>Zipcode: </td> <td><input name="zipcode" value="<?php echo (empty($posted['zipcode'])) ? '' : $posted['zipcode']; ?>" /></td> </tr> <tr> <td>UDF1: </td> <td><input name="udf1" value="<?php echo (empty($posted['udf1'])) ? '' : $posted['udf1']; ?>" /></td> <td>UDF2: </td> <td><input name="udf2" value="<?php echo (empty($posted['udf2'])) ? '' : $posted['udf2']; ?>" /></td> </tr> <tr> <td>UDF3: </td> <td><input name="udf3" value="<?php echo (empty($posted['udf3'])) ? '' : $posted['udf3']; ?>" /></td> <td>UDF4: </td> <td><input name="udf4" value="<?php echo (empty($posted['udf4'])) ? '' : $posted['udf4']; ?>" /></td> </tr> <tr> <td>UDF5: </td> <td><input name="udf5" value="<?php echo (empty($posted['udf5'])) ? '' : $posted['udf5']; ?>" /></td> <td>PG: </td> <td><input name="pg" value="<?php echo (empty($posted['pg'])) ? '' : $posted['pg']; ?>" /></td> </tr> <tr> <?php if(!$hash) { ?> <td colspan="4"><input type="submit" value="Submit" /></td> <?php } ?> </tr> </table> </form> </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)
7.2.60.0100.00616.91
7.2.00.0070.00719.47
7.1.100.0030.00918.11
7.1.70.0080.00416.92
7.1.60.0140.01134.60
7.1.50.0110.01434.72
7.1.40.0080.01934.44
7.1.30.0260.01334.57
7.1.20.0150.01134.63
7.1.10.0030.00916.49
7.1.00.0100.00316.63
7.0.200.0070.00516.91
7.0.190.0090.00316.83
7.0.180.0030.01316.16
7.0.170.0070.00716.13
7.0.160.0070.00716.13
7.0.150.0030.01116.20
7.0.140.0030.00916.20
7.0.130.0030.01016.43
7.0.120.0000.01316.50
7.0.110.0070.00716.19
7.0.100.0080.00816.32
7.0.90.0040.00816.21
7.0.80.0040.00816.23
7.0.70.0040.00816.43
7.0.60.0080.00415.97
7.0.50.0080.00416.26
7.0.40.0080.00516.37
7.0.30.0030.01016.36
7.0.20.0040.00816.49
7.0.10.0070.00716.55
7.0.00.0080.00416.38

preferences:
34.23 ms | 400 KiB | 5 Q