无法从 Laravel 5.7 发送推送事件

thm*_*spl 1 php laravel pusher

我几个小时以来一直在尝试在我的 Laravel 应用程序中使用 pusher。为此,我正在学习一些教程,但它仍然无法正常工作,现在我很紧张。

这是我的代码:

.env

BROADCAST_DRIVER=pusher
PUSHER_APP_ID=*ID
PUSHER_APP_KEY=*KEY
PUSHER_APP_SECRET=*SECRET
PUSHER_APP_CLUSTER=eu
Run Code Online (Sandbox Code Playgroud)

测试事件

<?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');
    }
}
Run Code Online (Sandbox Code Playgroud)

网页.php

Route::get('/send-test', function(){
    event(new TestEvent());
    return ['message' => 'OK?'];
});
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?感谢您的帮助。

小智 5

由于 Laravel 如此之大,很难确切地知道出了什么问题,但这里有一个清单。

  1. 您是否将.env文件中的广播驱动程序更改为推送程序?
  2. 你跑了composer require pusher/pusher-php-server吗?
  3. 你编译过你的 Javascript 依赖npm run dev吗?
  4. 您是否已将凭据添加到.env文件中?
  5. 您是否将集群添加到 config/broadcasting.php 中推送器区域的选项部分?你这样做:

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

  6. 您是否在 config/App.php 中取消注释以下行?

    App\Providers\BroadcastServiceProvider

如果以上都没有奏效,我个人建议您尝试本教程 - 我已经亲自测试过这个教程,它应该可以工作。https://blog.pusher.com/how-to-build-a-laravel-chat-app-with-pusher/

让我知道你是怎么办的。