将session存放至ocs进行存取

一.场景介绍

用户在用PHP做网站时,会把session信息存放在$_SESSION全局变量里。$_SESSION默认存放是以文件形式存放在本地服务器中。php.ini里有个配置项session.save_handler决定session以什么形式存放。在大多数场景,session数据并不需要持久化,且为了提升网站性能,会选择将session信息缓存到memcached里面。阿里云OCS是实现了标准memcached协议的缓存,使用OCS可以减少服务器内存的占用量和memcached的维护成本。


二.如何使用(linux为例 系统centos6.5)

这里提别要注意一点,低版本memcached无法支持该项服务,需升级到2.2以上才能用。

安装2.2.0版本memcached
wget http://pecl.php.net/get/memcached-2.2.0.tgz
tar  zxvf  memcached-2.2.0.tgz
cd memcached-2.2.0
phpize
./configure –with-libmemcached-dir=/usr/local/libmemcached –enable-memcached-sasl
(这里我试的时候报错configure: error: Cannot find php-config. Please use --with-php-config=PATH,只要find一下php-config把路径补上即可  如 ./configure -with-libmemcached-dir=/usr/local/libmemcached -with-php-config=/usr/local/php/bin/php-config -enable-memcached-sasl)
make
make install

完了以后stat一下看下是不是已经更新了


接下来配置php.ini文件

修改存储引擎session.save_handler=memcached

修改存储路径session.save_path = "9c1cf61d9fdf41da.m.cnhzaliqshpub001.ocs.aliyuncs.com:11211"

添加ocs配置

[memcached]
memcached.use_sasl = On
memcached.sess_binary = On
memcached.sess_sasl_username = your_ocs_name
memcached.sess_sasl_password = your_ocs_password
memcached.sess_locking = Off

重启下服务就可以了  接下来$_SESSION的信息都会在OCS中存取




你可能感兴趣的:(将session存放至ocs进行存取)