2

我已经在 OSX Mountain Lion 的 XAMPP 中安装了 memcache 和 memcached。虽然它们都没有出现在phpinfo().

在我index.php的文件顶部,我只是简单地包含了该文件:

include 'memcache.php'

然后当我进入我的网站时,我得到一个 MEMCACHE INFO 页面,它给了我这个错误:

错误消息:fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: nodename or servname provided, or not known`

我究竟做错了什么?

可以在不显示的情况下安装 memcache 和 memcachedphpinfo()吗?

4

3 回答 3

1

必须有一个 memcache 或 memcached 守护进程在运行和监听。Memcache(d) 就像 apache 一样是一个单独的服务器进程。它在端口/套接字上侦听请求。如果您没有运行一个,则无法连接到它。如果一个正在运行,你可能得到了错误的连接细节......它有点像你的 DSN 字符串,用于通过 mysqli 或 PDO 访问数据库。

我猜在您包含的“memcache.php”文件中,它要求设置主机名或节点名。这也告诉我您应该尝试连接到 memcached 服务器(因为 memcached 具有节点的概念)。打开它并找到它试图连接到 memcache 服务器的位置并将其编辑为指向 localhost 或任何您的机器名称(或 IP 地址)。

于 2012-10-25T19:49:32.077 回答
1

问题是您为连接到 memcached 提供的主机名不正确。您的错误本质上是 DNS 找不到主机名。

于 2012-10-25T19:51:04.820 回答
0

我按照本指南修复了它。 似乎 memcache 没有完全安装或其他什么,因为现在它出现了phpinfo()并且一切正常!不知道为什么在遵循其他几个教程时它不起作用,尽管理论是它为 OSX 中的内置 apache 安装了 memcache。

于 2012-10-26T16:58:24.800 回答