Pusher没有在php工作

时间:2016-06-16 06:34:33

标签: php xampp pusher

我正在尝试使用推送php服务器'将Pusher与php集成。我正在使用xamp服务器。我尝试了这些例子但是没有用。如果我运行以下代码。

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 个答案:

答案 0 :(得分:-1)

免责声明:我是Ably - simply better realtime的共同创始人

不幸的是,我无法真正帮助Pusher的库,但我可以说Ably,我们有很多机制来确保很多边缘处理失败案例,例如abrupt server failuresnetwork 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();
}