3v4l.org

run code in 300+ PHP versions simultaneously
<?php $request = 'POST'; // I've set the callback url to http://signature.wix.codeoasis.com/ // I've tried with and without the '/' (ie $url = '') $url = 'http://signature.wix.codeoasis.com'; $headers = array( 'X-Wix-Signature' => '3elavUOF0-I1_7tGz2XZKs_HSlrygsMiblpNFPKv3Ik', "X-Wix-Instance-Id" => "132fc751-9325-63d3-a605-f74e0c25192a", "X-Wix-Event-Id" => "da390885-e72f-4a93-be7f-a90220bac5c7", "X-Wix-Event-Type" => "/provision/provision", "X-Wix-Timestamp" => "2013-10-23T15:39:34.462Z", "X-Wix-Application-Id" => "132fbf95-d58e-f9ed-86e8-48b76f901d91" ); //$body = "{\n\t\"instance-id\": \"1328a7fe-e451-8780-d201-0c5d9a1fc02b\"\n}"; $body = '{"instance-id":"132fc751-9325-63d3-a605-f74e0c25192a"}'; // The app secret provided by Wix $appSecret = "97cfac6e-b061-4007-a03e-eb4bc199e620"; function concat($request, $url, $headers, $body) { // Request Method and Url separated by \n $result = trim($request); $result .= "\n"; $result .= trim($url); $result .= "\n"; // Sort Wix-* headers by key ksort($headers); // concatenate Wix-* headers (trimmed and separate by comma) $first = true; foreach ($headers as $key => $value) { if ($key != 'X-Wix-Signature' && $first == true) { $result = $result . trim($value); $first = false; } else if ($key != 'X-Wix-Signature') { $result = $result . ',' . trim($value); } } // Add body $result = $result . "\n" . trim($body); return $result; } $concat = concat($request, $url, $headers, $body); // Encrypt with hmac and app secret $encrypted = hash_hmac('sha256', $concat, $appSecret); //$base64 = base64_encode($encrypted); echo "The computed signature is : " . $encrypted . "\n"; echo "The signature sent by Wix : " . $headers['X-Wix-Signature']; echo "The concat result is : " . $concat; // The received request on http://signature.wix.codeoasis.com/ // // { // "Host": "signature.wix.codeoasis.com", // "X-Wix-Signature": "3elavUOF0-I1_7tGz2XZKs_HSlrygsMiblpNFPKv3Ik", // "X-Wix-Instance-Id": "132fc751-9325-63d3-a605-f74e0c25192a", // "X-Wix-Event-Id": "da390885-e72f-4a93-be7f-a90220bac5c7", // "Content-Type": "application/json; charset=utf-8", // "X-Wix-Event-Type": "/provision/provision", // "X-Wix-Timestamp": "2013-10-23T15:39:34.462Z", // "X-Wix-Application-Id": "132fbf95-d58e-f9ed-86e8-48b76f901d91", // "Connection": "keep-alive", // "Accept": "*/*", // "User-Agent": "Dispatch/0.10.1", // "Content-Length": "54", // "body": // { // "instance-id":"132fc751-9325-63d3-a605-f74e0c25192a" // } // }
Output for git.master, git.master_jit, rfc.property-hooks
The computed signature is : d938a9da414d880c078f06374022440645390e2f54231ff53a4ed541f6e4b78d The signature sent by Wix : 3elavUOF0-I1_7tGz2XZKs_HSlrygsMiblpNFPKv3IkThe concat result is : POST http://signature.wix.codeoasis.com 132fbf95-d58e-f9ed-86e8-48b76f901d91,da390885-e72f-4a93-be7f-a90220bac5c7,/provision/provision,132fc751-9325-63d3-a605-f74e0c25192a,2013-10-23T15:39:34.462Z {"instance-id":"132fc751-9325-63d3-a605-f74e0c25192a"}

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
52.28 ms | 402 KiB | 8 Q