php memcache保存session的一个设置误区

php中,使用memcache作为session的save handler 一般会使用如下设置:

php.ini里:

session.save_handler = memcache
session.save_path = “localhost:11211″

项目配置里:

ini_set(“session.save_handler”, “memcache”);
ini_set(“session.save_path”, “127.0.0.1:11211″);
在网上很多资料会写成这样:
session.save_path = “tcp://localhost:11211″
就是连接前缀里添加了tcp:// 这是会导致php的memcache模块写入失败,切记一定不要添加tcp协议前缀!

session.save_path string

Defines a comma separated of hostname:port entries to use for session server pool, for example “sess1:11211, sess2:11211″.

If you want to use ‘memcacheD’ extention not ‘memcache’ (there are two diffrent extentions) for session control,  you should pay attention to modify php.ini

Most web resource from google is based on memcache because It’s earlier version than memcacheD. They will say as following

session.save_handler = memcache
session.save_path = “tcp://localhost:11211″

But it’s not valid when it comes to memcacheD

you should modify php.ini like that

session.save_handler = memcached
session.save_path = “localhost:11211″

Look, there is no protocol indentifier
分享到QQ空间

Comments are closed.