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

时间:2021-12-19 07:01:49

 

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