2016-06-16 2 views
1

Я пытаюсь интегрировать Pusher с php, используя 'pusher php server'. Я использую сервер xamp. Я попытался с примерами, но не работал. Если я запустил код ниже.Pusher не работает в 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); 

Я получаю сообщение

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) 

Пожалуйста, помогите.

ответ

-1

Отказ от ответственности: Я соучредителем Ably - simply better realtime

Ну, я не могу помочь с библиотекой толкача, к сожалению, но я могу сказать, что с Ably, у нас есть целый ряд механизмов для обеспечения неудачи касался большого количества краевых дел, таких как abrupt server failures или network partitions or DNS failures.

Следующий код позволяет получить то, что вы здесь пытаетесь, но использует возможности восстановления после отказа от 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(); 
}