我已經設置Laravel使用推送器發送Laravel Echo的事件,但我從工匠控制檯發出的事件不能推動。 我推出的調試控制檯發生的事件工作正常,所以前端部分沒問題。 流浪VM可能會干擾它嗎?Laravel廣播不發送事件推送
我.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