PHP使用memcached储存session信息
更新:HHH   时间:2023-1-7


文档信息:
文档作者:amun
文档版本:Version 1.1
修改记录:2017-05-15
系统环境:CentOS 6.5 64 bit
需求:
环境                                       ip                                      软件
Centos6.5_x64_64                   192.168.200.101               memcached libmemcached
Apache使用php支持memcached储存session信息
**以下apache、php、memcached均使用yum方式安装,如有特殊需求使用源码包安装时,配置方式与此不同
 
关闭防火墙和SElinux安全机制
service iptables stop
setenforce 0
 
1.安装部署apache
使用系统自带的apache即可
修改apache配置文件以支持php
vim /etc/httpd/conf/httpd.conf
402 DirectoryIndex index.html index.html.var index.php  添加
 
启动apache
service httpd start
 
2.安装php
有特殊需求可用源码包安装,在此实验使用yum安装即可
yum -y install php php-devel
 
3.建立测试页面,测试apache与php的结合
vim /var/www/html/index.php
<?php
phpinfo();
?>
 
 
重启apache服务器
/etc/init.d/httpd restart
 
使用浏览器访问http://192.168.200.101,出现以下页面
                            
 
 
4.安装部署memcached
使用yum方式安装
yum -y install memcached
 
#安装完成后执行: memcached -h #出现memcached帮助信息说明安装成功
 
 
Memcached的配置信息:
#文件中内容如下,按需要修改
vim /etc/sysconfig/memcached PORT="11211"              #端口 USER="root"                 #用户名  //将memcached用户修改为rootMAXCONN="1024"            #最大连接数 CACHESIZE="64"         #内存大小 OPTIONS=""                 #附加参数
 
 
5.安装php支持memcached模块
需要安装libmemcached客户端库,php的扩展memcached模块,因为该扩展是依赖libmemcached的API
 
5.1安装libmemcached客户端库
tar xf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure -prefix=/usr/local/libmemcached-with-memcached
make && make install
 
5.2安装php的扩展memcached模块
tar xf memcached-2.2.0.tgz 
cd memcached-2.2.0 
/usr/bin/phpize  //先使用phpize命令生成一个configure文件
./configure -enable-memcached -with-php-config=/usr/bin/php-config-with-zlib-dir -with-libmemcached-dir=/usr/local/libmemcached-prefix=/usr/local/phpmemcached --disable-memcached-sasl
make && make install
 
记录下安装成功后的提示,类似于:
Installing sharedextensions:     /usr/lib64/php/modules/
表示安装成功
 
5.3增加扩展extension配置文件
vim /etc/php.d/memcached.ini    //此配置文件需要手动创建
extension=memcached.so
 
执行php -m命令查看是否加载了memcached模块
6.启动apache和memcached
service httpd restart //重启apache服务
 
/usr/bin/memcached -u root -m 512M -n 10 -f 2 -d -vvv -c 512 >> /opt/memcached.log2>&1      //启动memcached服务
 
 
6.1安装telnet服务测试memcached服务是否正常
yum–y install telnet
telnetlocalhost 11211   或者 直接输入本机IP加端口
查看在/opt/memcached.log 的日志
7.建立测试页,测试php是否支持memcached读取session信息
vim /var/www/html/memcached.php
<?php
session_start();
if(!isset($_SESSION['test'])) {
$_SESSION['test'] = time();
}
print$_SESSION['test'];
print"<br><br>";
print"Session ID: " .session_id();
?>
 
使用浏览器访问http://192.168.200.101/memcached.php,出现以下页面;
返回web开发教程...