ich ein ähnliches Problem festgestellt und ging Schritt für Schritt und die Probleme behoben. Ich nehme an, Sie laufen Laravel 5.3. Hier ist ein Schritt für Schritt zu Fuß durch das könnte hilfreich sein:
1) Überprüfen Sie Ihre Konfigurationsdatei: in config \ broadcasting.php:
'connections' => [
pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_ID'),
'options' => [
'cluster' => 'eu',
'encrypted' => true,
// 'host' => 'api-eu.pusher.com'
// 'debug' => true,
],
],
2) Erstellen Sie eine Route für das Testen in Ihrem „web .php“Datei
Route::get('/broadcast', function() {
event(new \Factum\Events\TestEvent('Sent from my Laravel application'));
return ok;
});
3) in Ihrem "TestEvent.php" Ereignisdatei Sie diese Methode, um hinzuzufügen, sollten Sie Ihre Ereignisnamen angeben:
/**
* The event's broadcast name.
*
* @return string
*/
public function broadcastAs()
{
return 'my_event';
}
4) Öffnen Sie Ihre Pusher dashboard und gehen Sie zur Debug-Konsole. Halten Sie die Seite offen, damit Sie feststellen können, ob Sie eine erfolgreiche Anfrage von Ihrer Anwendung erhalten haben.
5) Starten oder starten Sie den Warteschlangenarbeiter neu. Dieser Schritt kann alles machen oder abbremsen. Wenn Sie Mysql-Tabellen für Warteschlangen verwenden, gehe ich davon aus, dass Sie bereits Ihre für die Warteschlangen erforderlichen Datenbanktabellen "jobs" und "failed_jobs" eingerichtet haben. Ein weiteres wichtiges Element ist der Arbeiter - der Warteschlangenprozessor. Ohne einen aktiven Worker, der zur Verarbeitung Ihrer Warteschlange ausgeführt wird, verbleiben die Jobs (TestEvent) in der Auftragstabelle, was bedeutet, dass die Aufträge ausstehen und nichts weiter passiert, bis ein aktiver Worker mit der Verarbeitung der Warteschlange beginnt.
Sie können die Arbeiter wie folgt beginnen:
[email protected]# php artisan queue:work --tries=3
6) Nun, da Sie alles haben, um auf einen Anruf tätigen: „http://your-app.laravel/broadcast“ und überprüfen Sie die Schieber Debug-Konsole auf eine Antwort.
Optionaler Schritt: Wenn noch etwas fehlt, können Sie Ihre Anwendung Interaktion debuggen mit Pusher wie so: In Ihrem Test Route versuchen, dies zu tun:
Route::get('/broadcast', function() {
/* New Pusher instance with our config data */
$pusher = new \Pusher(config('broadcasting.connections.pusher.key'), config('broadcasting.connections.pusher.secret'), config('broadcasting.connections.pusher.app_id'), config('broadcasting.connections.pusher.options'));
/* Enable pusher logging - I used an anonymous class and the Monolog */
$pusher->set_logger(new class {
public function log($msg)
{
\Log::info($msg);
}
});
/* Your data that you would like to send to Pusher */
$data = ['text' => 'hello world from Laravel 5.3'];
/* Sending the data to channel: "test_channel" with "my_event" event */
$pusher->trigger('test_channel', 'my_event', $data);
return 'ok';
});
hoffe, dass ich es auch für Sie arbeiten! Viel Spaß beim Codieren! ;)