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

apache+PHP使用memcached儲存session信息

session

需求:

Apache使用php支持memcached儲存session信息

**以下apachephpmemcached均使用yum方式安裝,如有特殊需求使用源碼包安裝時,配置方式與此不同

關閉防火墻和SElinux安全機制

service iptables stop

setenforce 0

1.安裝部署apache

使用系統自帶的apache即可

修改apache配置文件以支持php

vim /etc/httpd/conf/httpd.conf

402 DirectoryIndexindex.html index.html.var index.php

啟動apache

service httpd start

2.安裝

php

有特殊需求可用源碼包安裝,在此實驗使用yum安裝即可

yum -y install php php-devel

3.建立測試頁面,測試apachephp的結合

vim /var/www/html/index.php

<?php

phpinfo();

?>

使用瀏覽器訪問http://192.168.1.11,出現以下頁面

技術分享

4.安裝部署memcached

使用yum方式安裝

yum -y install memcached

#安裝完成後執行:
memcached -h
#
出現memcached幫助信息說明安裝成功

Memcached的配置信息:

vim /etc/sysconfig/memcached
#
文件中內容如下,按需要修改:
PORT="11211" #
端口
USER="root" #
用戶名
MAXCONN="1024" #
最大連接數
CACHESIZE="64" #
內存大小
OPTIONS="" #
附加參數

5.安裝

php支持memcached模塊

需要安裝libmemcached客戶端庫,php的擴展memcached模塊,因為該擴展是依賴libmemcachedAPI

安裝libmemcached客戶端庫

tar xf libmemcached-1.0.18.tar.gz

cd libmemcached-1.0.18

./configure -prefix=/usr/local/libmemcached -with-memcached

make &&make install

安裝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/

增加擴展extension配置文件

vim /etc/php.d/memcached.ini //此配置文件需要手動創建

extension=memcached.so

執行php –m命令查看是否加載了memcached模塊

6.啟動apachememcached

service httpd restart //重啟apache服務

/usr/bin/memcached -u root -m 512M -n 10 -f 2 -d -vvv -c 512 //啟動memcached服務

可以安裝telnet服務測試一下memcached服務是否正常

yum –y install telnet

telnet localhost 11211

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"SessionID: " . session_id();

?>

使用瀏覽器訪問http://192.168.1.11/memcached.php,出現以下頁面;

技術分享

本文出自 “lyndon” 博客,請務必保留此出處http://lyndon.blog.51cto.com/11474010/1950475

apache+PHP使用memcached儲存session信息