gpt4 book ai didi

Laravel 5.5 事件未触发

转载 作者:行者123 更新时间:2023-12-04 17:46:44 24 4
gpt4 key购买 nike

我正在使用 Laravel 5.5。我将我的 BROADCAST_DRIVER 设置为记录,但是当我访问链接以触发事件时,没有任何反应。 laravel.log 文件仍然是空的。我已经在 config/app.php 上取消注释 BroadcastServiceProvider。这是我的代码

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myDatabase
DB_USERNAME=root
DB_PASSWORD=numberPassword

BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=database

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

config/app.php

App\Providers\AppServiceProvider::class,
App\Providers\AuthServiceProvider::class,
App\Providers\BroadcastServiceProvider::class,
App\Providers\EventServiceProvider::class,
App\Providers\RouteServiceProvider::class,

app/Events/ReloadTableEvent.php

class ReloadTableEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;

protected $coinData;

public function __construct($coinData)
{
$this->coinData = $coinData;
}

public function broadcastWith()
{
return ['coin' => $this->coinData];
}

public function broadcastAs()
{
return 'reload-event';
}

public function broadcastOn()
{
return new Channel('reload-channel');
}
}

app/Http/Controllers/ReloadTableController.php

public function reloadTable()
{
$coin = Coin::take(50)->get();
$event = new ReloadTableEvent($coin);
event($event);
}

我已经这样做了

  • php artisan config:clear
  • php artisan 缓存:清除
  • php artisan 优化
  • php artisan clear-compiled
  • Composer 更新
  • Composer 转储自动加载

仍然没有。我该怎么办?

更新 1

我还没有使用监听器。当我创建新项目并为我当前的项目设置相同的选项时,它起作用了。

存储/日志/laravel.log

[2018-01-08 06:24:02] local.INFO: Broadcasting [reload-event] on channels [reload-channel] with payload:
{
"coin": {
"name": "Test"
},
"socket": null
}

最佳答案

你应该通过 php artisan queue:work 监听事件

关于Laravel 5.5 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48144313/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com