所以我尝试使用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();
有人能帮忙吗?
不要告诉你的留言后发生了什么,试试看
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,负责在独
我有一个非常奇怪的问题与和。当我尝试和推动,我得到: 我添加了远程: 有什么想法吗?