Troubleshooting "Permission denied" when attempting to connect to Redis from PHP script

lordlinier picture lordlinier · Jan 7, 2012 · Viewed 15.6k times · Source

Port 6379 is open on the server, and I can successfully run telnet localhost 6379 in SSH.

I tried both Predis/phpredis client library in PHP, but it still does not work:

  • Predis gives "Permission denied" error when opening socket to 6379.
  • phpredis gives "redis server went away".

Answer

lordlinier picture lordlinier · Jan 7, 2012

Problem solved, type:

/usr/sbin/setsebool httpd_can_network_connect=1

By default, SELinux does not allow Apache to make socket connections. More information can be found here.