2016-11-10 4 views
0

Ich folge Laravel Büro Redis Führer, aber ich https://laravel.com/docs/5.2/redis#pubsubKann nicht abonnieren Redis Kanal Laravel 5.2

Nach dem Erstellen des Befehls ein Problem habe, wenn ich laufen "-> php Handwerker redis: subscribe" in der Konsole i erhalten Folgefehler

[Symfony\Component\Console\Exception\CommandNotFoundException] 
    There are no commands defined in the "redis" namespace. 

Ich kann Redis Chanel nicht hören.

Redis Publish Channel-Methode funktioniert gut. Um dies zu überprüfen. In der Konsole tippte ich "-> redis-cli" und dann "subscribe mychannel" Beim Aktualisieren des Browsers bekomme ich Daten in der Konsole veröffentlichen.

Ich kann nicht über Laravel abonnieren.

Ich habe auch versucht Wild Card

Route::get('/subscribe', function() 
{ 
    Redis::psubscribe(['*'], function($message, $channel) { 
     echo $message; 
    }); 
}); 

aber Browser halten Laden mit und ich bekomme keine Daten. Ich habe auch versucht

ErrorException in StreamConnection.php line 390: 
strlen() expects parameter 1 to be string, array given 

Meine Konfiguration in config/database.php folgende Fehler

public function subscribeChannel() 
{ 
    $redis = Redis::Connection(); 
    $redis->subscribe(['channel'], function($message) { 
     echo $message; 
    }); 
} 

Diese subscribeChannel Methode gibt mir ein Verfahren in der Steuerung zu machen ist Folowing

'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 
     ], 
    ], 

Hilfe suchen danke

Antwort

0

Redis :: Verbindung & dann abonnieren funktioniert nicht für Laravel 5.2.

können Sie folgenden Befehl verwenden, für das gleiche:

Redis::subscribe(['user_online_offline'], function ($message) { 
     echo $message; 
}); 

Wenn Sie eine andere Verbindung für den gleichen, dann können Sie verwenden folgenden Befehl verwenden mögen:

Redis::subscribe(['user_online_offline'], function ($message) { 
    echo $message; 
}, $connection = 'socket');