3

I've got an app written using Laravel. I've been using Redis when developing locally. I've now moved my project onto AppFog which has a redis service running. It seems though that they require a password (which is supplied), but I'm not sure how to add a password to the redis config in database.php.

When I try to use redis without the password I get "Redis error: operation not permitted". A quick look and it seems that's what happens when a password isn't supplied.

Anyone know how to supply a password when connecting to a Redis DB using Laravel?

iamjonesy
  • 24,732
  • 40
  • 139
  • 206
  • 1
    Can you not just supply it as a parameter in the config array? `'redis' => array('default' => array('host' => '127.0.0.1', 'port' => 6379, 'password' => 'mypass'),)` – Dan Matthews Jan 28 '13 at 10:25
  • Nope the Laravel Redis class uses fsocketopen which doesn't take a username or password – iamjonesy Feb 01 '13 at 09:46

2 Answers2

2

In case anyone with the same problem. Here is the code to enable laravel redis connection with password.

https://gist.github.com/bslima/6207163

bslima
  • 1,097
  • 2
  • 15
  • 17
1

It doesn't appear Laravel has a method for doing this in the manner you mention. However, it would seem you should be able to use the run method to execute the redis auth command just as you would any other method. You would do this after creating the connection.

Redis doesn't authenticate when connecting, it implements a command to handle authentication as documented at http://redis.io/commands/auth

As for storing the password in the config file, it would also likely be a matter of adding a variable to the config and referencing it as you would any other config variable.

The Real Bill
  • 14,884
  • 8
  • 37
  • 39
  • Yes, issuing the AUTH command directly after connecting to the Redis DB worked. I assumed it needed a password to connect to the host not the redis service. Thanks! – iamjonesy Feb 03 '13 at 20:34