2013-03-22 38 views
0

我试图使用memcached的商店PHP的会话信息,但是PHP一直告诉我,它无法连接:memcached的新的自动协商客户端连接

警告:在session_start():打开(memcached的:11211/sess_hitr4obt9ofmmsvk9kfl8euqt6,O_RDWR)失败:没有这样的文件或目录(2)

接下来,我尝试telnet到来自它做运行在服务器上的memcached:memcached -l 127.0.0.1 -p 12345 -vv

在那之后,我连使用:telnet localhost 12345

然而,这只是导致telnet来挂在

Trying 127.0.0.1... 
Connected to localhost. 
Escape character is '^]'. 

同时,服务器输出只是坐在:<28 new auto-negotiating client connection

我已经离开它运行了相当长的一段时间,并且到目前为止没有曾经发生过(没有超时,没有连接)。

我在这里错过了什么吗?

+0

第一个错误提示PHP认为它应该使用名为“memcached:11211”的*目录*来存储会话*文件*。你有没有正确安装[*正确的* memcached扩展](http://stackoverflow.com/a/2659060/168868)和[修改你的INI设置](http://php.net/memcached.sessions)? – Charles 2013-03-22 22:37:50

+0

以下是我的php.ini文件中的相应行。 session.save_handler = memcached session.save_path =“memcached:11211” 其中memcached在/ etc/hosts中定义为指向服务器的IP地址我安装了memcached。 此外,web服务器和memcache服务器都使用memcached,而不是memcache,所以我不认为这应该是一个问题。 – Rob 2013-03-22 22:47:25

+0

好的,显然我使用的CMS是将会话处理程序重新设置为文件,所以这就是导致PHP错误的原因。我仍然不明白为什么telnet不起作用。 – Rob 2013-03-22 23:15:38

回答

0

这是连接成功的结果。试试stats;如果telnet连接成功,你应该从memcached得到结果。