PHP 推送事件触发不起作用
PHP Pusher Event Triggering not working
我是 WebSockets 的新手,最近遇到了 Pusher。我想将它整合到我的网站中。我正在尝试通过 Pusher.php 文件触发事件,这是我的代码:
$pusherArray['success'] = true;
$pusher = new Pusher( $PUSHER_APP_KEY, $PUSHER_APP_SECRET, $PUSHER_APP_ID );
class MyLogger {
public function log( $msg ) {
print_r( $msg . "\n" );
}
}
$pusher->set_logger( new MyLogger() );
$pusher->trigger('8307851079', 'logout', $pusherArray);
$info = $pusher->get_channel_info("$clef_id");
$channel_occupied = $info->occupied;
var_dump($channel_occupied);
然后这是我得到的结果:
Pusher: curl_init( http://api.pusherapp.com:80/apps/217851/events?auth_key=MY_KEY&auth_signature=SIGNATURE&auth_timestamp=1466342695&auth_version=1.0&body_md5=41b74623d1e5f479b466093805ff36de )
Pusher: trigger POST: {"name":"logout","data":"{\"success\":true}","channels":8307851079}
Pusher: exec_curl response: Array
(
[body] => Expected channels parameter to be an array
[status] => 400
)
Pusher: curl_init( http://api.pusherapp.com:80/apps/217851/channels/8307851079?auth_key=MY_KEY&auth_signature=SIGNATURE&auth_timestamp=1466342696&auth_version=1.0 )
Pusher: exec_curl response: Array
(
[body] => 404 NOT FOUND
[status] => 404
)
NULL
事件没有被触发!需要一些帮助!
我最终让它工作了。发生的事情是查看频道信息方法导致了错误。我没有正确的语法。
正如指出的那样,触发函数的第一个参数要求它是一个数组。我改变了它并让脚本开始工作。这是简短的代码:
$pusherArray['success'] = true;
$pusher = new Pusher( $PUSHER_APP_KEY, $PUSHER_APP_SECRET, $PUSHER_APP_ID );
class MyLogger { public function log( $msg ) { print_r( $msg . "\n" ); } }
$pusher->set_logger( new MyLogger() );
$pusher->trigger(['8307851079'], 'logout', $pusherArray);
我只是简单地删除了观看频道信息,因为我真的不需要那个功能。获得 200 OK 状态代码,我的脚本能够传送
"success":true
向 Pusher 服务发送消息。
我是 WebSockets 的新手,最近遇到了 Pusher。我想将它整合到我的网站中。我正在尝试通过 Pusher.php 文件触发事件,这是我的代码:
$pusherArray['success'] = true;
$pusher = new Pusher( $PUSHER_APP_KEY, $PUSHER_APP_SECRET, $PUSHER_APP_ID );
class MyLogger {
public function log( $msg ) {
print_r( $msg . "\n" );
}
}
$pusher->set_logger( new MyLogger() );
$pusher->trigger('8307851079', 'logout', $pusherArray);
$info = $pusher->get_channel_info("$clef_id");
$channel_occupied = $info->occupied;
var_dump($channel_occupied);
然后这是我得到的结果:
Pusher: curl_init( http://api.pusherapp.com:80/apps/217851/events?auth_key=MY_KEY&auth_signature=SIGNATURE&auth_timestamp=1466342695&auth_version=1.0&body_md5=41b74623d1e5f479b466093805ff36de )
Pusher: trigger POST: {"name":"logout","data":"{\"success\":true}","channels":8307851079}
Pusher: exec_curl response: Array
(
[body] => Expected channels parameter to be an array
[status] => 400
)
Pusher: curl_init( http://api.pusherapp.com:80/apps/217851/channels/8307851079?auth_key=MY_KEY&auth_signature=SIGNATURE&auth_timestamp=1466342696&auth_version=1.0 )
Pusher: exec_curl response: Array
(
[body] => 404 NOT FOUND
[status] => 404
)
NULL
事件没有被触发!需要一些帮助!
我最终让它工作了。发生的事情是查看频道信息方法导致了错误。我没有正确的语法。
正如
$pusherArray['success'] = true;
$pusher = new Pusher( $PUSHER_APP_KEY, $PUSHER_APP_SECRET, $PUSHER_APP_ID );
class MyLogger { public function log( $msg ) { print_r( $msg . "\n" ); } }
$pusher->set_logger( new MyLogger() );
$pusher->trigger(['8307851079'], 'logout', $pusherArray);
我只是简单地删除了观看频道信息,因为我真的不需要那个功能。获得 200 OK 状态代码,我的脚本能够传送
"success":true
向 Pusher 服务发送消息。