Linux下的Memcache安装 和 安装Memcache的PHP扩展

时间:2023-03-09 05:18:35
Linux下的Memcache安装 和 安装Memcache的PHP扩展

一、首先安装服务端memcached

1.下载libevent与memcache软件包。

下载memcached:

wget http://memcached.org/latest
wget http://www.memcached.org/files/memcached-1.5.7.tar.gz

下载libevent:

--no-check-certificate 参数表示可以接受 https的连接

wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz --no-check-certificate

2.解压后安装

先安装libevent

tar zxvf libevent-2.1.8-stable.tar.gz

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

make && make install

查看是否安装成功

daokr@DK:/usr/local/libevent/lib$ ls -la |grep libevent

3.开始安装memcached 同时需要安装中指定libevent的安装位置:

root@DK:/home/daokr/downfile/memcached-1.5.7#./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent

root@DK:/home/daokr/downfile/memcached-1.5.7# make && make install

查看是否安装完成

Linux下的Memcache安装 和 安装Memcache的PHP扩展

先复制一份执行文件到bin目录:

cp memcached /usr/local/bin/

然后运行命令启动:

/usr/local/bin/memcached -d -m 256 -u daokr -l localhost -p 11200 -c 1024 -P /tmp/memcached.pid

Linux下的Memcache安装 和 安装Memcache的PHP扩展

telnet localhost 11200 表示成功安装!

3.memcached 相关参数说明

相关解释如下:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB
-u是运行Memcache的用户,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.91
-p是设置Memcache监听的端口,我这里设置了9023,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256
-P是设置保存Memcache的pid文件,我这里是保存在/tmp/memcached.pid

二、安装Memcached的PHP扩展

1)安装memcached 首先 我们呢用到的有两个包来安装要;
第一个:memcached扩展是基于libmemcached,所以要先安装libmemcached


cd /home/daokr/downfile
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar zxvf libmemcached-1.0..tar.gz
cd libmemcached-1.0.
./configure --prefix=/usr/local/libmemcached --with-memcached
make
make install

2)接下来安装php-memcached (这个包主要为了生成扩展)

安装php-fpm的memcached扩展;具体php支持哪几个版本到官方地址:http://pecl.php.net/package/memcached 查看下载

cd /home/daokr/downfile
wget http://pecl.php.net/get/memcached-3.0.4.tgz
tar zxvf memcached-3.0..tgz
cd memcached-3.0.

我选择的是memcached-3.0.4 这个版本;因为我们工作开发环境就是这个版本;所以就不换了。

执行

/home/php/bin/phpize

报错如下:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
根据网上的解决办法是:

下载安装其他软件:
# yum install m4
# yum install autoconf

或者
#apt install m4
#apt install autoconf

主要下面所有的命令都在memcache-3.0.4/ 该目录下;然后再执行:

然后继续执行下面命令:

/home/php/bin/phpize --with-php-config=/home/php/bin/php-config
./configure --with-php-config=/home/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
make && make install

结果如下:

Linux下的Memcache安装 和 安装Memcache的PHP扩展

Linux下的Memcache安装 和 安装Memcache的PHP扩展

--with-php-config 指定 php-config,该文件与 phpize 所在目录相同,

--with-libmemcached-dir 指定 libmemcached 安装目录,就刚才我们 --prefix 那个目录 ,

--disable-memcached-sasl 说明我们系统不支持sasl.h

3.上述安装完后会有类似这样的提示:

如果安装成功,会提示:Installing shared extensions: /home/php/lib/php/extensions/no-debug-zts-20151012/等类信息

接下来,我们编辑php配置文件php.ini,把 php-memcached 扩展加到配置文件。

4.把php.ini中的extension_dir = "./" 修改为

extension_dir = "/home/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"

在 php.ini 中添加以下内容:

extension=memcached.so

5.添加一行来载入memcache扩展:extension=memcache.so

然后重启:nginx, php-fpm, 还有memcache服务后;测试下面文件;

Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!

< ?php

$mem=new Memcached(); //实例化Memcached类
$server= array(
array('127.0.0.1',11200),
);
$isok = $mem->addServers($server);

$issetm = $mem->set('name','zhangsanddd',15); ////设置缓存值,有效时间3600秒,如果有效时间设置为0,则表示该缓存值永久存在的(系统重启前)
echo $mem->get('name');

?>

或者直接telnet来查看是否设置成功:

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

get name
VALUE name 0 11
zhangsanddd