Linux安装Memcache与安装php memcached扩展

xiaoxiao2021-02-28  98

https://pecl.php.net/package/memcache

http://memcached.org/files/

一、在Linux系统上安装Memcache服务,要先安装libevent库

1.安装libevent库

wget -P /soft  http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz

cd soft

tar zxf libevent-2.0.12-stable.tar.gz

cd libevent-2.0.12-stable/

./configure --prefix=/usr/local/lib

make && make install

2.安装memcache

wget -P /soft http://memcached.org/files/memcached-1.4.20.tar.gz

tar zxf memcached-1.4.20.tar.gz

cd memcached-1.4.20/

./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/lib

make && make install  

安装完成

修改memcache为开机自启动

vi /etc/rc.local

添加以下代码,并保存

/usr/local/memcached/bin/memcached -p 11211 -U 0 -d -r -u root -m 2040 -c 1024 -t 4

手动启动memcache命令

/usr/local/memcached/bin/memcached -p 11211 -U 0 -d -r -u root -m 2040 -c 1024 -t 4

测试memcache是否启动

telnet 127.0.0.1 11211

可以看到如下代码,说明memcache服务已经启动

Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'.

二、安装php的Memcached扩展,要先安装libmemcached这个支持库。

1、安装libmemcached

1.1下载wget -P /usr/local/libmemcached

wget -P /soft  https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

-P /soft :指定把安装包下载到soft目录

1.2 安装 

cd soft

tar -zxf libmemcached-1.0.18.tar.gz 

cd   libmemcached-1.0.18

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

make  &&  make install

完成安装

2.安装memcached

2.1下载

wget -P /soft  http://pecl.php.net/get/memcached-2.2.0.tgz

2.2 安装

cd soft

tar -zxf memcached-2.2.0.tgz 

cd memcached-2.2.0 (进入安装文件夹)

cd php-memcached (再进入到文件夹,在这个文件夹下进行下一步的phpize命令)

使用phpize命令生成一个configure文件,phpize会根据系统信息,生成相应的configure文件,

/usr/local/apache2/bin/phpize

 编译,php-config文件的路径,要根据实际路径修改

./configure --with-php-config=/usr/local/bin/php-config  --with-libmemcached-dir=/usr/local/libmemcached  

安装

make  &&  make install

成功安装之后,会在php扩展目录下生成memcached.so

3.配置php.ini文件

extension=memcached.so

配置完要重启apache服务器  /usr/local/apache2/bin/apachectl stop /usr/local/apache2/bin/apachectl start

phpinfo()输出memcached支持结果

三、测试案例

<?php $memcachehost="127.0.0.1"; $memcacheport=11211; $memcache = new Memcached; $memcache->addServer($memcachehost,$memcacheport); $key="members2"; if(!$memcache->get($key)){ $mysqli=new mysqli('127.0.0.1','root','','landy'); $mysqli->query('SET NAMES UTF8'); $sql="select * from members"; $res=$mysqli->query($sql); while($row=mysqli_fetch_array($res)){ $arr[]=$row; } $str="mysql"; $memcache->set($key,serialize($arr)); $data=$arr; } else{ $str="memcache"; $data_mem=$memcache->get($key); $data=unserialize($data_mem); } echo $str."<br/>"; foreach($data as $key=>$val){ echo $val['wxname']."<br/>"; }

转载请注明原文地址: https://www.6miu.com/read-37391.html

最新回复(0)