JavaScript-сервер Pusher не работает

Я пытался вызвать события, используя Pusher PHP Server но не в состоянии это сделать. Я пробовал несколько решений, таких как i-e, включающих расширение cURL в моей серверной среде, но все еще безрезультатно.
Я успешно смог инициировать события с помощью создателя событий, предоставленного Pusher Debug Console. Я что-то пропустил?

Фрагмент кода на стороне клиента (канал подписки & слушаю события)

<head>
<title>Pusher Test</title>
<script src="//js.pusher.com/2.2/pusher.min.js" type="text/javascript"></script>
<script type="text/javascript">
Pusher.log = function(message) {
if (window.console && window.console.log) {
window.console.log(message);
}
};

var pusher = new Pusher('key');
var channel = pusher.subscribe('test_channel');
channel.bind('my_event', function(data) {
alert(data.message);
});
</script>
</head>

Фрагмент кода на стороне сервера (не работает)

require('Pusher.php');
$app_id = 'xxx';
$app_key = 'xxx';
$app_secret = 'xxx';
$pusher = new Pusher($app_key, $app_secret, $app_id);
$data['message'] = 'hello world';
$pusher->trigger('test_channel', 'my_event', $data);

-1

Решение

Поскольку вы говорите, что создатель событий работает, я предполагаю, что функциональность клиента в порядке, и проблема в следующем:

  • Код PHP
  • взаимодействие с Web API через PHP-библиотеку Pusher.

Проверка кода PHP

Убедитесь, что отчеты об ошибках включены и выполните код:

<?php
error_reporting(E_ALL);

require('Pusher.php');
$app_id = 'xxx';
$app_key = 'xxx';
$app_secret = 'xxx';
$pusher = new Pusher($app_key, $app_secret, $app_id);
$data['message'] = 'hello world';
$pusher->trigger('test_channel', 'my_event', $data);

Каков результат запуска вышеуказанного кода?

отлаживать & Вход в PHP-библиотеку Pusher

Если с кодом все в порядке, я бы посоветовал вам взглянуть на отладка и ведение журнала Информация, предоставленная библиотекой:
https://github.com/pusher/pusher-php-server#debugging

<?php
error_reporting(E_ALL);

require('Pusher.php');
$app_id = 'xxx';
$app_key = 'xxx';
$app_secret = 'xxx';

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: -> триггер полученной строки канала «test_channel». преобразование
к массиву. Толкатель: curl_init (
http://api.pusherapp.com:80/apps/97748/events?auth_key=XXX&auth_signature = XXX&auth_timestamp = 1419197439&auth_version = 1,0&body_md5 = XXX ) Толкатель: триггер POST:
{ «Имя»: «my_event», «данные»: «{\» сообщение \ «: \» Привет
world \ «}», «channel»: [«test_channel»]} Pusher: exec_curl response:
Array ([body] => {} [status] => 200)
—- мой результат — 1

Вышеуказанные шаги должны предоставить вам все необходимое, чтобы понять, почему что-то не работает.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]