2016-06-16 24 views
1

Ich versuche, Pusher mit PHP mit 'Pusher PHP-Server' zu integrieren. Ich benutze xamp server. Ich habe es mit den Beispielen versucht, funktioniert aber nicht. Wenn ich den folgenden Code ausführe.Pusher funktioniert nicht in PHP

require('vendor\pusher\pusher-php-server\lib\Pusher.php'); 
$app_id = '216511'; 
$app_key = '40403e9b91d636322403'; 
$app_secret = '255060847263ef97c5d8'; 

class MyLogger { 
    public function log($msg) { 
    print_r($msg . "<br />"); 
    } 
} 

$pusher = new Pusher($app_key, $app_secret, $app_id); 
$logger = new MyLogger(); 
$pusher->set_logger($logger); 

$data['message'] = 'hello world'; 
$result = $pusher->trigger('test_channel', 'my_event', $data); 
$logger->log("---- My Result ---"); 
$logger->log($result); 

Ich erhalte die Nachricht

Pusher: trigger POST: {"name":"my_event","data":"{\"message\":\"hello world\"}","channels":["test_channel"]} 
Pusher: exec_curl response: Array ([body] => Timestamp expired: Given timestamp (2016-06-17T06:26:35Z) not within 600s of server time (2016-06-16T06:26:55Z) [status] => 401) 

Bitte helfen.

Antwort

-1

Disclaimer: Ich bin der Mitbegründer von Ably - simply better realtime

Nun, ich mit Pusher Bibliothek nicht wirklich kann leider helfen, aber ich kann mit Ably, haben wir eine Reihe von Mechanismen, sagt, dass Ausfälle zu gewährleisten sind behandelt für viele Randfälle, wie abrupt server failures oder network partitions or DNS failures.

Der folgende Code erreicht, was Sie hier versuchen, nutzt aber die Failover-Funktionen von Ably.

require_once __DIR__ . '/../vendor/autoload.php'; 

// Don't embed your secrets in StackOverFlow! 
$appKey = '[OBTAIN-FREE-FROM-WWW.ABLY.IO-DASHBOARD]'; 
$opts = array(
    'key' => $appKey, 
    'logHandler' => function($level, $args) { 
    print_r($args[0] . "<br />"); 
    } 
); 
$client = new Ably\AblyRest($appKey); 
$channel = $client->channel('test_channel'); 

try { 
    $data['message'] = 'hello world'; 
    $channel.publish('my_event', $data); 
} catch (Exception $e) { 
    echo 'Publish failed: ', $e->getMessage(); 
}