我使用以下代码:
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 ---
我做错了什么?
我想要的是从服务器发送通知。
答案 0 :(得分:6)
我怀疑您的cluster
可能是错误的。
当您在dashboard.pusher.com上创建Pusher应用程序时,系统会要求您选择cluster
:
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