无法从 laravel 5.7 发送推送事件
Can not send pusher events from laravel 5.7
我几个小时以来一直在尝试在我的 laravel 应用程序中使用推送器。为此,我正在学习一些教程,但它仍然无法正常工作,现在我很紧张。
这是我的代码:
.env
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=*ID
PUSHER_APP_KEY=*KEY
PUSHER_APP_SECRET=*SECRET
PUSHER_APP_CLUSTER=eu
测试事件
<?php
namespace App\Events;
use App\Wish;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class TestEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct()
{
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new Channel('tests');
}
}
web.php
Route::get('/send-test', function(){
event(new TestEvent());
return ['message' => 'OK?'];
});
我做错了什么?谢谢你的帮助。
由于 Laravel 太大了,很难知道究竟出了什么问题,但这里有一个清单。
- 您是否将
.env
文件中的广播驱动程序更改为推送器?
- 你有运行
composer require pusher/pusher-php-server
吗?
- 您是否使用
npm run dev
编译了 Javascript 依赖项?
- 您是否已将凭据添加到
.env
文件?
您是否已将集群添加到 config/broadcasting.php 中推送器区域的选项部分?你这样做:
'options' => [
'cluster' => 'eu',
'encrypted' => 真
],
您是否在 config/App.php 中取消注释以下行?
App\Providers\BroadcastServiceProvider
如果上述 none 有效,我个人是否可以推荐您尝试本教程 - 我已经亲自测试过这个教程,它应该有效。 https://blog.pusher.com/how-to-build-a-laravel-chat-app-with-pusher/。
告诉我你过得怎么样。
我几个小时以来一直在尝试在我的 laravel 应用程序中使用推送器。为此,我正在学习一些教程,但它仍然无法正常工作,现在我很紧张。
这是我的代码:
.env
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=*ID
PUSHER_APP_KEY=*KEY
PUSHER_APP_SECRET=*SECRET
PUSHER_APP_CLUSTER=eu
测试事件
<?php
namespace App\Events;
use App\Wish;
use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
class TestEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct()
{
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new Channel('tests');
}
}
web.php
Route::get('/send-test', function(){
event(new TestEvent());
return ['message' => 'OK?'];
});
我做错了什么?谢谢你的帮助。
由于 Laravel 太大了,很难知道究竟出了什么问题,但这里有一个清单。
- 您是否将
.env
文件中的广播驱动程序更改为推送器? - 你有运行
composer require pusher/pusher-php-server
吗? - 您是否使用
npm run dev
编译了 Javascript 依赖项? - 您是否已将凭据添加到
.env
文件? 您是否已将集群添加到 config/broadcasting.php 中推送器区域的选项部分?你这样做:
'options' => [ 'cluster' => 'eu', 'encrypted' => 真 ],
您是否在 config/App.php 中取消注释以下行?
App\Providers\BroadcastServiceProvider
如果上述 none 有效,我个人是否可以推荐您尝试本教程 - 我已经亲自测试过这个教程,它应该有效。 https://blog.pusher.com/how-to-build-a-laravel-chat-app-with-pusher/。
告诉我你过得怎么样。