我已经安装了 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 的新手。
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 来捕获网络流量并实际查看正在传输的数据包,它可能也非常有用。
在不更改内存缓存配置的情况下先调试事物。尝试根据上述问题更改服务器的绑定地址应该是您做的最后一件事。让我知道你的进步。
归档时间: |
|
查看次数: |
8284 次 |
最近记录: |