Memcached 和 php 错误

bej*_*liu 4 php memcached

我已经安装了 memcached,当我尝试这样的脚本测试时:

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
echo $memcache->getVersion();
Run Code Online (Sandbox Code Playgroud)

我收到嵌套错误:

: 注意: MemcachePool::getversion(): Server 127.0.0.1 (tcp 11211, udp 0) failed with: Network timeout (0) in /var/www/html/admin/test.php on line 62

可能是什么问题呢?我是 memcached 的新手。

Jef*_*and 5

验证聆听

lsof -i以 root 身份运行并确认 memcache 守护进程正在您列出的端口上运行。

格式化为理智:

memcached 16526 corneliu 31u IPv4 207975 0t0 TCP *:memcache (LISTEN) 
memcached 16526 corneliu 32u IPv6 207976 0t0 TCP *:memcache (LISTEN) 
memcached 16526 corneliu 33u IPv4 207979 0t0 UDP *:memcache
memcached 16526 corneliu 34u IPv6 207980 0t0 UDP *:memcache 
Run Code Online (Sandbox Code Playgroud)

因此,内存缓存服务器正在侦听 IPv4 和 IPv6 的 TCP 和 UDP。我假设内存缓存的 /etc/services 条目是端口 11211。服务正在侦听。

手动验证服务器对命令的响应

我会参考这个问题:https : //stackoverflow.com/questions/6045187/memcache-connects-but-doesnt-respond-to-any-command并验证服务器是否响应您通过 telnet 或 netcat 发送的命令. 如果您运行 tcpdump 或 wireshark 来捕获网络流量并实际查看正在传输的数据包,它可能也非常有用。

在不更改内存缓存配置的情况下先调试事物。尝试根据上述问题更改服务器的绑定地址应该是您做的最后一件事。让我知道你的进步。