欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!
PHP的session(会话管理)一般是以文件形式进行,而在多个Web服务器之间进行session管理时memecached会比文件管理方式更加方便。在这里介绍如何使用memcached管理PHP的session。
安装
在PHP使用memcached的模块有以下2种,在这里使用memcached模块。
- memcache:php-pecl-memcache
- memcached:php-pecl-memcached
(1) 安装memcached及php-pecl-memcached
# yum install memcached php-pecl-memcached
(2) 启动memcached
# systemctl enable memcached
# systemctl start memcached
修改配置文件
通过以下设定PHP的默认session管理会变为memcached。
(1) php.ini
# vi /etc/php.ini
; session.save_handler = files # 注释
; session.save_path = “/var/lib/php/session” # 注释
(2) memcached.ini
# vi /etc/php.d/memcached.ini
session.save_handler = memcached
session.save_path = “tcp://localhost:11211” # 添加
(3) www.conf
# vi /etc/php-fpm.d/www.conf
; php_value[session.save_handler] = files # 注释
; php_value[session.save_path] = /var/lib/php/session # 注释
php_value[session.save_handler] = memcached # 添加
php_value[session.save_path] = “localhost:11211” # 添加
# systemctl reload php-fpm
(4) 在PHP程序里进行设定
如果没有修改相关配置文件,可以通过如下方法在PHP程序里进行配置。
$session_save_path = ‘tcp://localhost:11211’;
if (ini_set(‘session.save_handler’, ‘memcache’) && ini_set(‘session.save_path’, $session_save_path)){
session_start;
}
(5) 确认
可以使用安装memcached时安装的memcached-tool。
# memcached-tool localhost:11211 dump
结语
PHP的session默认有效期间是24分(1440秒),而这个默认值可以通过/etc/php.ini的session.gc_maxlifetime进行调整。
除了session管理以外也可如下使用memcached。
$mc = new Memcached;
$mc->addServer(‘localhost’, 11211);
$mc->set(‘foo’,’var’,60);
var_dump($mc->get(‘foo’));
$mc->add(‘hoge’,’fuga’,60);
$mc->add(‘hoge’,’piyo’,60);
var_dump($mc->get(‘hoge’));
$mc->flush;
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/105429.html