Laravel Echo 500错误未接收推送器事件

Laravel Echo 500错误未接收推送器事件,laravel,pusher,vue.js,laravel-echo,Laravel,Pusher,Vue.js,Laravel Echo,我在用pusher使用Laravel Echo中的状态通道时遇到问题。当我触发一个事件时,我从broadcastedexception得到500个错误,而没有响应体,这对我来说是很难调试它的。当我查看pusher调试控制台时,presence事件由pusher监听。所以我想我的事件从来没有被解雇的推动者。这是“我的网络”选项卡中的预览 我的控制器: public function store() { $user = auth()->user(); $message =

我在用pusher使用Laravel Echo中的状态通道时遇到问题。当我触发一个事件时,我从
broadcastedexception
得到500个错误,而没有响应体,这对我来说是很难调试它的。当我查看pusher调试控制台时,presence事件由pusher监听。所以我想我的事件从来没有被解雇的推动者。这是“我的网络”选项卡中的预览

我的控制器:

public function store() {
    $user = auth()->user();

    $message = $user->messages()->create([
        'message' => request('message')
    ]);

    event(new MessageReceived($message, $user));

    return ['status' => 'OK'];
}
已收到
消息

namespace App\Events;


class MessageReceived implements ShouldBroadcast
{
   use Dispatchable, InteractsWithSockets, SerializesModels;

   public $message;

   public $user;

/**
 * Create a new event instance.
 *
 * @return void
 */
public function __construct(Message $message, User $user)
{
    $this->message = $message;

    $this->user = $user;
}

/**
 * Get the channels the event should broadcast on.
 *
 * @return Channel|array
 */
public function broadcastOn()
{
    return new PresenceChannel('chatroom');
}
}
这是我的VUEJ

mounted() {
    axios.get('/messages')
        .then(response => {
            this.messages = response.data
        })
        .catch(error => {
            console.log(error)
        })

    Echo.join('chatroom')
        .listen('MessageReceived', (e) => {
            console.log(e) //never get into this
        })
},

我找不到错误在哪里。我使用集群ap1,并在
broadcasting.php
和我的
bootstrap.js
中声明。有人能帮我吗

这可能是由配置中的错误引起的。以下是一些需要检查的内容:

  • .env
    文件中,确保正确设置推送器id、密钥和密码
  • 如果从Laravel 5.3升级到Laravel 5.4,请注意
    .env
    变量
    PUSHER\u KEY
    现在是
    PUSHER\u APP\u KEY
    PUSHER\u SECRET
    现在是
    PUSHER\u APP\u SECRET
  • config/broadcasting.php
    中,确保集群设置正确
  • 如果您不使用HTTPS,则可能必须将“
    加密的
    密钥设置为

    'options' => [
        'cluster' => 'ap1', // change this to your app's cluster
        'encrypted' => false,
    ],
    

  • 是的,在我的例子中,当我在本地主机上运行它时,导致问题的数字4xampp@ishadif伟大的如果您觉得我的答案有帮助或正确,希望您能将其标记为已接受的答案。谢谢其实我早就解决了这个问题。但是我认为你的回答会帮助其他遇到类似问题的人。对我来说不起作用:“(,我看到一些人删除了
    'encrypted'=>false的部分,
    并让它起作用,但对我也没有帮助..我不知道该怎么办。。