Pusher in php - 不发送事件[Unknown auth_key]

时间:2016-08-24 19:56:12

标签: php pusher

我使用以下代码:

 require('pusher-http-php-master/lib/Pusher.php');
error_reporting(E_ALL);
$app_id = '*'; 
$app_key = '*';
$app_secret = '*';

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', array( 'hello' => 'world' ));
$logger->log( "---- My Result ---" );
$logger->log( $result );

我的答案是:

Pusher: ->trigger received string channel "test_channel". Converting to array. Pusher: create_curl( http://api.pusherapp.com:80/apps/*/events?auth_key=*&auth_signature=*&auth_timestamp=*&auth_version=1.0&body_md5=*) Pusher: trigger POST: {"name":"my_event","data":"{\"hello\":\"world\"}","channels":["test_channel"]} Pusher: exec_curl response: Array ( [body] => Unknown auth_key [status] => 400 ) ---- My Result ---

我做错了什么?

我想要的是从服务器发送通知。

2 个答案:

答案 0 :(得分:6)

怀疑您的cluster可能是错误的。

当您在dashboard.pusher.com上创建Pusher应用程序时,系统会要求您选择cluster

enter image description here

默认情况下,

pusher-http-php-master会连接到mt1 (us-east-1)。如果您选择其他群集 - 例如eu (eu-west-1) - 您需要明确:

$pusher = new Pusher(
  $app_key,
  $app_secret,
  $app_id,
  array( 'cluster' => 'eu' ) 
);

如果这不起作用,我会 double triple 检查$app_secret

答案 1 :(得分:1)

当我在流明中使用Pusher时遇到了同样的问题。对我来说,有效的方法是我从作曲家中删除了软件包,然后重新安装了该软件包。

第一

composer remove pusher/pusher-php-server

然后

composer require pusher/pusher-php-server