Pusher в php - Не отправлять события [Неизвестный auth_key]

Я использую следующий код:

 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 ---

Что я делаю не так?

Я хочу отправлять уведомления с сервера.


person Luis Ramos    schedule 24.08.2016    source источник


Ответы (2)


Я подозреваю, что ваш cluster может быть неправильным.

Когда вы создаете приложение Pusher на dashboard.pusher.com, вам предлагается выбрать 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' ) 
);

Если это не сработает, я дважды тройно проверю ваш $app_secret.

person Alex Booker    schedule 31.08.2016
comment
Для меня просто изменение кластера в настройках толкателя не решило проблему. Мне также пришлось перейти к Pusher.php и вручную изменить хост в строке 57 с api.pusherapp.com на api-eu.pusher.com. Надеюсь, это поможет кому-то :) - person Chris; 20.03.2017

У меня была такая же проблема, когда я использовал Pusher с Lumen. Для меня сработало то, что я удалил пакет из композитора и переустановил пакет.

первый

composer remove pusher/pusher-php-server

тогда

composer require pusher/pusher-php-server
person Pramod    schedule 19.07.2018