1. 程式人生 > >PHP使用memcached儲存session信息

PHP使用memcached儲存session信息

php、session、memcached

文檔信息:
文檔作者: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,出現以下頁面;

本文出自 “微涼清風的博客” 博客,請務必保留此出處http://amunlinux.blog.51cto.com/13112118/1945980

PHP使用memcached儲存session信息