Laravel Echo 500错误未接收推送器事件
我在用pusher使用Laravel Echo中的状态通道时遇到问题。当我触发一个事件时,我从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 =
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、密钥和密码.env
变量PUSHER\u KEY
现在是PUSHER\u APP\u KEY
,PUSHER\u SECRET
现在是PUSHER\u APP\u SECRET
config/broadcasting.php
中,确保集群设置正确李>
加密的
密钥设置为假
'options' => [
'cluster' => 'ap1', // change this to your app's cluster
'encrypted' => false,
],
是的,在我的例子中,当我在本地主机上运行它时,导致问题的数字4xampp@ishadif伟大的如果您觉得我的答案有帮助或正确,希望您能将其标记为已接受的答案。谢谢其实我早就解决了这个问题。但是我认为你的回答会帮助其他遇到类似问题的人。对我来说不起作用:“(,我看到一些人删除了
'encrypted'=>false的部分,
并让它起作用,但对我也没有帮助..我不知道该怎么办。。