5

当我使用redis PHP扩展时,我得到错误,主机是127.0.0.1,端口是6379。

Redis::connect(): php_network_getaddresses: getaddrinfo failed: 名称或服务未知。

4

3 回答 3

3

我在我的本地服务器上偶尔发生了同样的问题,并且尝试了许多修复都没有得到解决。这篇文章给了我一个想法,似乎终于解决了这个问题。

基本上,我在本地机器(运行 Ubuntu)上设置了许多虚拟主机,这允许我使用域名访问本地运行的站点,而不是通常的“本地主机/站点名称”方法。结果,我没有分配给“localhost”名称的 IP。

对于您而言,这可能不是问题的根本原因,但这是我解决问题的方法:

  1. 查看 redis 配置文件中“redis-host”的值是什么(对我来说,它设置为“localhost”)。
  2. 在您的 /etc/hosts 文件中检查是否有分配给该主机名的 IP。(在您的情况下,redis-host 是 127.0.0.1,请检查是否没有分配给该 IP 的其他主机名,例如 phpmyadmin。)

当然,作为健全性检查,请确保您的 redis-server 已启动并正在运行,尝试重新启动 Apache 以防您进行任何配置更改等。

于 2012-10-09T15:35:47.340 回答
2

对于 mac 用户:

打开终端并尝试以下命令:

  1. sudo vi /etc/hosts
    (sudo 以 root 用户身份执行命令,您已为此输入密码)
  2. 按'i'进入VI编辑器的输入模式
  3. 在127.0.0.1 redis末尾添加这一行
  4. 按 esc 进入命令模式
  5. 输入 :wq (保存并退出 vi
    编辑器)
于 2017-06-19T09:14:50.727 回答
1

就我而言,问题很简单。主机名输入错误。

要找出确切的问题,我必须在控制台中执行以下操作:

ping <host-name>

或者如果你安装了 redis-cli,你可以从控制台调用它:

redis-cli -h <host-name> -p <port-number> -a <auth-pass>

资源

于 2016-04-22T06:48:49.403 回答