我使用的php版本为7,请下载对应版本的memcached的扩展包(下载地址http://pecl.php.net/package/memcached)
首先需要php支持memcached
yum -y install libmemcached libmemcached-devel 编译环境的依赖
wget http://pecl.php.net/get/memcached-3.1.3.tgz 下载扩展模块的包
tar -xvf memcached-3.1.3.tgz
cd memcached-3.1.3/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install 完成显示memcached.so模块存放的目录
vim /usr/local/php/lib/php.ini 修改配置文件一定要找对位置,先查找前面的关键字,找到对应的位置再进行修改
session.save_handler = memcached
session.save_path = "192.168.131.152:11211" memcached机器的ip和端口
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/" 上面存放memcached.so模块的目录
extension=memcached.so 添加模块
/usr/local/php/sbin/php-fpm -m |grep memcached 查看php模块内是否有memcached
测试
vim /var/www/html/swy.php (测试效果最好是在前端加上负载均衡器,用两台php机器进行测试)
<?php
session_start();
print "sessionA"; 若是两台机器则另外一台网页为sessionB,通过负载均衡访问可发现只有这个值会改变,session的id不会改变
print session_id();
?>
memcached-tool 127.0.0.1 查看是否会有数据
telnet localhost 11211
stats