我正在关注 Laravel 办公室 Redis 指南,但我遇到了一些问题 https://laravel.com/docs/5.2/redis#pubsub
在控制台中运行“-> php artisan redis:subscribe”时创建命令后,出现以下错误
[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "redis" namespace.
我无法听 Redis Chanel。
Redis 发布通道方法工作正常。要检查这一点。在控制台中,我输入“-> redis-cli”,然后“订阅 mychannel”。在刷新浏览器时,我在控制台中获取发布数据。
我无法通过 Laravel 订阅。
我也尝试过使用通配符
Route::get('/subscribe', function()
{
Redis::psubscribe(['*'], function($message, $channel) {
echo $message;
});
});
但浏览器不断加载,我没有得到任何数据。我也尝试在控制器中创建一个方法
public function subscribeChannel()
{
$redis = Redis::Connection();
$redis->subscribe(['channel'], function($message) {
echo $message;
});
}
这个 subscribeChannel 方法给了我以下错误
ErrorException in StreamConnection.php line 390:
strlen() expects parameter 1 to be string, array given
我在 config/database.php 中的配置如下
'redis' => [
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
'read_write_timeout' => 0
],
],
寻求帮助谢谢