You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redis-cli连接正常但Predis报Connection refused错误求助

Redis连接问题排查

我按照Redis官方文档从源码安装了Redis,用redis-cli测试连接正常,但运行以下Predis代码时出现Connection refused错误,请问问题出在哪里?

运行的Predis代码:

Predis\Autoloader::register();
$client = new Predis\Client();
$client->set('foo', 'bar');
$value = $client->get('foo');

相关截图:

Redis-cli连接正常截图
Predis连接报错截图

可能的原因及解决方法

  • Redis绑定地址限制:默认Redis可能仅绑定127.0.0.1,但PHP运行环境(如Apache/FPM)的网络上下文可能存在差异,或者需要显式指定连接地址。修改redis.conf中的bind配置为bind 0.0.0.0(允许所有IP访问,注意生产环境安全),或明确指定PHP连接127.0.0.1,修改后重启Redis服务。
  • Predis默认参数不匹配:Predis默认连接tcp://127.0.0.1:6379,如果你的Redis修改了端口、使用Unix套接字,需要显式配置连接参数:
    // 指定TCP地址和端口
    $client = new Predis\Client([
        'scheme' => 'tcp',
        'host'   => '127.0.0.1',
        'port'   => 6379,
    ]);
    // 若使用Unix套接字连接
    $client = new Predis\Client([
        'scheme' => 'unix',
        'path'   => '/var/run/redis/redis.sock',
    ]);
    
  • 防火墙/SELinux拦截:检查系统防火墙是否禁止PHP进程访问6379端口,或SELinux是否拦截了连接请求。可临时关闭防火墙/SELinux测试,或添加相应的访问规则。
  • Redis进程状态异常:确认Redis服务正在运行,执行ps aux | grep redis-server查看进程,或通过systemctl status redis(systemd管理的系统)检查服务状态。

内容的提问来源于stack exchange,提问作者Dangvantri113

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 12:54:21