一、首先安装服务端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

查看是否安装完成

先复制一份执行文件到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

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

结果如下:

--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

 

Linux下的Memcache安装 和 安装Memcache的PHP扩展的更多相关文章

  1. Linux下通过源码编译安装程序

    本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...

  2. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  3. LINUX下中文语言包的安装(转)

    在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...

  4. linux下使用非root账号安装zabbix-client

    linux下使用非root账号安装zabbix-client使用非root账号rusky登录:[rusky@testServer]#tar zxvf zabbix-2.4.5.tar.gz #cd z ...

  5. [转]在linux下如何判断是否已经安装某个软件?软件安装在哪个目录

    <1>在linux下如何判断是否已经安装某个软件? ++++++++++++++++++++++++++++++++++++++++++ rpm -qa|grep 软件包 ++++++++ ...

  6. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

  7. linux下各安装包的安装方法

    <转>linux下各安装包的安装方法   一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root ...

  8. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  9. Linux下如何查看tomcat是否安装、启动、文件路径、进程ID

    Linux下如何查看tomcat是否安装.启动.文件路径.进程ID 在Linux系统下,Tomcat使用命令的操作! 检测是否有安装了Tomcat: rpm -qa|grep tomcat 查看Tom ...

  10. Linux下tomcat6.0与jdk安装

    Linux下tomcat6.0与jdk安装 步骤如下: 1. 上传apache-tomcat-6.0.37.tar.gz和jdk-6u13-linux-i586.bin至/usr/local 给这两个 ...

随机推荐

  1. javascript匿名函数自执行 (function(window,document,undefined){})(window,document);

    使用匿名自执行函数的作用: (function(window,document,undefined){})(window,document); 1.首先匿名函数 (function(){}) (); ...

  2. PB对象Event ID说明

    原地址:https://www.cnblogs.com/nickflyrong/p/5973795.html Event ID 含义 内容浅析 event可以用pb自带的id,自动触发事件,而func ...

  3. Kafka 初识

    1.Kafka 是什么? 用一句话概括一下:Apache Kafka 是一款开源的消息引擎系统. 倘若“消息引擎系统“这个词对你来说有点陌生的话,那么“消息队列“.“消息中间件”的提法想必你一定是有所 ...

  4. 用PHP写PHP7扩展,超级简单对吧!

    [图片打不开,请用代理] 介绍: PHP扩展是编译库,它允许在您的PHP代码中使用特定的功能(主要是使用C编写的php扩展). 例如,您需要使用PHP使用SQLite3,您可以实现自己的方法和功能来连 ...

  5. javascript设计模式之适配器模式

    ---恢复内容开始--- 定义: 是指讲一个接口转换成客户端希望 的另外一个接口,该模式使得原本不兼容的类可以一起工作.适配器模式的作用事解决两个软件实体间的接口不兼容的问题. 生活中的实例: USB ...

  6. Keil MDK fromelf生成bin文件

    找到Keil安装目录中fromelf.exe 配置Keil fromelf.exe --bin -o -\OBJ\LED.bin -\OBJ\LED.axf –bin:二进制文件 –i32:Intel ...

  7. aapt&adb笔记

    aapt 查看安装包信息aapt list apk路径* aapt list xxx/app-debug.apk 查看apk文件信息并保存到本地(> 重定向符) * aapt list xx/a ...

  8. mongdb插入 查询时间

    Robo 3T mongdb客户端 https://www.robomongo.org/ 模糊查找关键字 db.getCollection('test').find({"name" ...

  9. Docker安装与部署

    安装Docker: 查看你当前的内核版本: uname -r 更新yum包: sudo yum update 卸载旧版本(如果安装过旧版本的话): sudo yum remove docker doc ...

  10. c# ArrayList 类