【发布时间】:2021-04-02 12:34:02
【问题描述】:
创建了一个事件,它在本地工作,上传到服务器停止工作。
[2021-04-02 14:26:51] local.ERROR: Class 'Redis' not found {"exception":"[object] (Error(code: 0): Class 'Redis' not found at /供应商/laravel/framework/src/Illuminate/Redis/Connectors/PhpRedisConnector.php:75) [堆栈跟踪]
如何连接 Redis?
PrivatMessageEvent.php
<?php
namespace App\Events;
use Illuminate\Broadcasting\Channel;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Broadcasting\PresenceChannel;
use Illuminate\Broadcasting\PrivateChannel;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Queue\SerializesModels;
class PrivatMessageEvent implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public $data;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
/**
* Get the channels the event should broadcast on.
*
* @return \Illuminate\Broadcasting\Channel|array
*/
public function broadcastOn()
{
return new Channel('private-channel');
}
}
当我启动队列时,我可以看到此事件正在进行中,但给出了失败。
脚本刀片模板
socket.on("private-channel:App\\Events\\PrivatMessageEvent", function (message) {
appendMessageToReceiver(message);
});
配置\bd
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'database' => 0,
'port' => env('REDIS_PORT', '6379'),
]
]
【问题讨论】: