Я установил Laravel, чтобы использовать толкатель для отправки событий для Laravel Echo, но события, которые я запускаю из кустарной консоли, не достигают толкателя. События, которые я запускаю из консоли отладки толкателя, работают нормально, поэтому внешняя часть в порядке. Может ли бродячая ВМ вмешиваться в это?Laravel broadcast не отправляет события толкателю
Мой .env файл
QUEUE_DRIVER=sync
...
PUSHER_KEY=<key>
PUSHER_SECRET=<secret>
PUSHER_APP_ID=<app_id>
Мой broadcasting.php
'default' => env('BROADCAST_DRIVER', 'pusher'),
...
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => 'eu',
'encrypted' => true
],
],
...
]
Событие:
class NewMessage implements ShouldBroadcast
{
public function broadcastOn()
{
return [new Channel('chat.'.$this->conversation->id)];
}
}
Событие вызывается из класса наблюдателя, который наблюдает модели created
мероприятие.
public function created(Chat\Message $message)
{
event(new NewMessage($message));
}
Наблюдатель регистрируется в AppServiceProvider
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
Message::observe(MessageObserver::class);
}
}
Когда я запускаю консольную команду, которая создает новое сообщение терминал показывает это:
php artisan chat:broadcast asdasd
[2016-12-15 16:26:44] local.INFO: Broadcasting [eventname] on channels [channel] with payload: {...}
Примечание: большинство имен являются конфиденциальными, поэтому я использовал заполнители, такие как eventname, channel и т. д., но я надеюсь, что соответствующая информация есть.
Спасибо!
У меня такая же проблема в Laravel 5.1. Смешно, что он * работал, а затем таинственно останавливался. Пока не понял, почему. Я могу сказать вам, что это не бродячая ВМ, которая мешает ... мы работали над ВМ. – geoidesic