Laravel广播不发送事件推送
问题描述:
我已经设置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等占位符,但我希望相关信息在那里。
谢谢!
答
确保BROADCAST_DRIVER在.env
文件设置为推动器这样
BROADCAST_DRIVER=pusher
和broadcasting.php
修改药水阵列像下面的代码
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
//leave these empty in your code
],
],`
保存此更改并运行你的laravel服务器我希望这会为你工作......!
+0
似乎你可以帮助我。看看这个:https://*.com/questions/45877837/how-can-i-make-realtime-notification-for-user-who-are-not-login –
我在Laravel 5.1中遇到同样的问题。有趣的是,它*正在工作,然后神秘地停下来。还没有弄清楚为什么。我可以告诉你,这不是干扰的流浪虚拟机......我们在虚拟机上工作。 – geoidesic