我已经设置Laravel使用推动器为Laravel Echo发送事件,但是我从工匠控制台发射的事件并没有达到推动力。 我从推送器调试控制台发出的事件工作正常,所以前端部分没问题。 流浪汉VM会干扰它吗?
我的.env文件
QUEUE_DRIVER=sync
...
PUSHER_KEY=<key>
PUSHER_SECRET=<secret>
PUSHER_APP_ID=<app_id>
我的broadcast.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)];
}
}
该事件是从Observer类触发的,该类观察模型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等占位符,但我希望有相关信息。
谢谢!
答案 0 :(得分:2)
确保.env
文件中的BROADCAST_DRIVER设置为像这样推送
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服务器我希望这对您有用...... !!
答案 1 :(得分:0)
在广播任何事件之前,您首先需要注册App \ Providers \ BroadcastServiceProvider。在新的Laravel应用程序中,您只需要在config / app.php配置文件的providers数组中取消注释此provider。
/*
* Application Service Providers...
*/
App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
//App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,
.env文件
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=app_id
PUSHER_APP_KEY=auth-key
PUSHER_APP_SECRET=secret
PUSHER_APP_CLUSTER=cluster
您可以像这样在控制器中触发事件
broadcast(new NewMessage($message));
您可以运行php artisan config:cache
来确保