当前位置: 首页 > 知识库问答 >
问题:

未找到Laravel Lumen广播Redis类推送器

洪浩
2023-03-14

所以我尝试使用redis设置广播,但是我无法让它工作,因为我想我缺少一些配置选项。

. env文件

...
BROADCAST_DRIVER=redis
...

控制器

event(new TestEvent());

测试员。php

<?php

namespace App\Events\Socket;

use App\Events\Event;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

class TestEvent implements ShouldBroadcast
{

    protected $data;

    /**
     * Create a new event instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->data = [
            'payload' => [
                'test' => 'test'
            ],
            'message' => 'another'
        ];
    }

    public function broadcastOn()
    {

        return new PrivateChannel('user.2');
    }
}

但是,当我在数据库的failed_jobs表中运行此操作时,会弹出以下错误:

Symfony\Component\Debug\Exception\fatalthrowable错误:在/var/www/vendor/light/broadcasting/BroadcastManager中找不到类“Pusher”。php:216堆栈跟踪:

这很奇怪,因为它不应该尝试创建Pusher实例。

我尝试过使用composer dump自动加载、composer clear缓存、php artisan clear编译。。。

这很有趣,因为如果我尝试此代码并转储实例,我会得到一个配置良好的BroadcastManager:

$broadcastManager = (new BroadcastManager(app()))->connection();

有人能帮忙吗?

共有1个答案

淳于煌
2023-03-14

不要告诉你的留言后发生了什么,试试看

composer require pusher/pusher-php-server --no-scripts

或者

php artisan clear-compiled

编辑“vendor/laravel/framework/src/illumb/Broadcasting/BroadcastManager.php”中的行

“使用推进器;”要“使用推送器\推送器”

在您的配置/应用程序中。php将此行添加到别名

“推手”=

 类似资料:
  • 我有一个应用程序,它使用AlarmManager为用户通知安排警报。我将报警对象的一个实例传递给AlarmManager使用的PendingEvent: 发生报警时间时,my AlarmBroadcastReceiver(我的AlarmBroadcastReceiver(报警广播接收器))正确接收广播,但LogCat警告未找到报警类: 然而,BroadcastReceiver成功地从接收到的意图中

  • 我正在遵循Laravel文档来设置使用推送器的广播,它看起来很简单,但是我还没有得到它的工作,所以我一定是在路上的某个地方犯了一个错误。 以下是我所做的: 服务器端 我创建了一个,它实现了接口,并定义了方法。 我正在从我的一个API控制器引发事件: 我已经在我的文件中配置了推进器凭据。 客户端 我已经在客户端配置了Laravel Echo(通过angular Laravel Echo包),并将我的

  • 每当我试图从命令行将更改推送到远程存储库时,我都会收到以下错误: (我已经替换了org和repo名称,但它们绝对是正确的名称)。 我已检查是否具有对存储库的写入权限。我可以通过网站创建分支和写入文件,并在本地将这些更改拉回来。 我正在使用Git Credential Manager for Windows(GCM)使用github进行身份验证,gitconfig中有以下内容: 我运行的是Windo

  • 我在GitHub上创建了一个名为“消息”的存储库和一个同名的本地存储库。我试图将文件从我的本地回购到远程,但得到这个错误: 致命:远程端意外挂断。 我想这是一个认证问题。当我逃跑时 我确实收到了一条信息,表明我的钥匙坏了。所以我将我的~/. ssh/github_rsa.pub添加到GitHub帐户中的SSH密钥(删除了已经存在的密钥),并再次运行该命令。这次我收到一条消息说- 嗨,修女!您已成功

  • 11.4.发送广播 最后,为触发这个事件,我们需要广播一条能够匹配filter的Intent。前面的BootReceiver只管接收来自系统的广播,也就没必要负责发送Intent。但对TimelineReceiver来说,它接收的广播是来自应用程序本身,发送Intent也就需要我们自己负责了。 在第八章 Service 中,我们为UpdaterService创建了一个内部类Updater,负责在独

  • 我有一个非常奇怪的问题与和。当我尝试和推动,我得到: 我添加了远程: 有什么想法吗?