laravel-pusher-send生产事件不工作



这是我第一次使用pusher(pusher.com(,在本地一切都很好,但在生产发送通知时不起作用,如果我从本地发送,它起作用,并向生产发送通知,但从现场发送,它不起作用!!!

广播:

'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster'=> env('CLUSTER'),
'encrypted' => true,

],
],

发送功能:

public function OrderEvent()
{

$order_number='150';
event(new OrderSubmitted($order_number));
return "We just sent!";
}

生产错误:

production.INFO: Broadcasting [AppEventsOrderSubmitted] on channels [order-submitted] with payload:
{
"order_number": "15-EA",
"socket": null
}  

这是因为我的broadcast_driver在.env文件中设置为log。将.env中的广播驱动程序从log更改为pusher

BROADCAST_DRIVER=pusher

然后,在生产服务器上运行此命令。

php artisan config:clear

如果您没有在pusher上验证您的电子邮件,则通常会发生这种情况。

如果你已经做到了,请确保你的配置文件中有这个。(broadcasitng.php(

'options' => [
'cluster' => 'ap2',
'encrypted' => true
],

如果以上都不起作用,很可能是您的主机名配置错误。请记住从主机中排除http/https。这不是https://example.com,而是example.com

'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'encrypted' => true,
'host' => env('PUSHER_HOST'),
'port' => 6001,
'scheme' => env('PUSHER_SCHEME')
],
],

和带有的.env文件

PUSHER_HOST=example.com

最新更新