【项目背景】:阿里云ECS服务器,Linux(centos7.2 64位),环境部署使用的是阿里云一键安装包(LAMP)等

【项目需求】:linux安装memcached 和php开启Memcached的扩展

【项目涉及软件包】:总共涉及4个软件包,分为服务器端:libevent(安装 Memcached 服务器所依赖的软件包,下载地址:http://libevent.org/)、Memcached(Memcached 服务器软件包,下载地址:http://memcached.org/);客户端:libmemcached(是一个 memcached 的库,下载地址:http://libmemcached.org/libMemcached.html)、memcached(PHP开启 Memcached 扩展的软件包,下载地址:http://pecl.php.net/package/memcached) 注意:两个memcache的区别,大家可以根据网址去下载最新或者适合自己的版本!!!

【软件安装】:将上述软件包下载后统一放到linux系统某一文件夹下,我的是默认放在root文件夹下,这个只是存放目录,待软件包安装的时候在指定目录,所以放到哪无所谓(可以参考linux系统文件夹的功能来区分到底放在哪个文件夹下,了解linux系统各文件夹的功能对后期软件安装也是有一定的帮助的,本不不阐述,自行百度)。注意:安装是有顺序的请按【项目涉及软件包】中软件包顺序安装,先安服务器端,再装客户端。每个软件包安装都需要如下几步:

一、详细安装步骤,以libevent为例:

1、将libevent软件解包,解包的命令如下

[root@iZm5e8mdarp2gzrruoytkiZ ~]# tar zxvf libevent-对应版本号-stable.tar.gz  -C /usr/local  (解释:将libevent解压至/usr/local文件夹下)

2、切换至libevent对应版本文件夹下:

[root@iZm5e8mdarp2gzrruoytkiZ ~]# cd /usr/local/libevent-2.1.8-stable/

3、指定安装目录:

[root@iZm5e8mdarp2gzrruoytkiZ libevent-2.1.8-stable]# ./configure --prefix=/usr/local/libevent/

4、编译

[root@iZm5e8mdarp2gzrruoytkiZ libevent-2.1.8-stable]# make

5、安装

[root@iZm5e8mdarp2gzrruoytkiZ libevent-2.1.8-stable]# make install

至此libevent安装完成,切换到/usr/local/libevetn/文件夹下就可以看到libevent的安装目录了。剩下libmemcached、Memcached的安装与libevent都是一样的,唯一需要注意的就是./configure --prefix指定安装目录需要注意下,具体如下:

二、安装Memcached

1、[root@iZm5e8mdarp2gzrruoytkiZ ~]# tar zxvf memcached-1.4.36.tar.gz -C /usr/local

2、[root@iZm5e8mdarp2gzrruoytkiZ ~]# cd /usr/local/memcached-1.4.36/

3、[root@iZm5e8mdarp2gzrruoytkiZ memcached-1.4.36]# ./configure --prefix=/usr/local/memcached/ --with-libevent=/usr/local/libevent/

4、[root@iZm5e8mdarp2gzrruoytkiZ memcached-1.4.36]# make

5、[root@iZm5e8mdarp2gzrruoytkiZ memcached-1.4.36]# make install

三、安装libmemcached

1、[root@iZm5e8mdarp2gzrruoytkiZ ~]# tar zxvf libmemcached-1.0.18.tar.gz -C /usr/local

2、[root@iZm5e8mdarp2gzrruoytkiZ ~]# cd /usr/local/libmemcached-1.0.18/

3、[root@iZm5e8mdarp2gzrruoytkiZ libmemcached-1.0.18]# ./configure --prefix=/usr/local/libmemcached  --with-memcached

4、[root@iZm5e8mdarp2gzrruoytkiZ libmemcached-1.0.18]# make

5、[root@iZm5e8mdarp2gzrruoytkiZ libmemcached-1.0.18]# make install

四、最后一步,开启 PHP 的 memcached 扩展,这步最关键

1、[root@iZm5e8mdarp2gzrruoytkiZ ~]# tar zxvf memcached-3.0.3.tgz -C /usr/local

2、[root@iZm5e8mdarp2gzrruoytkiZ ~]# cd /usr/local/memcached-3.0.3/

3、[root@iZm5e8mdarp2gzrruoytkiZ memcached-3.0.3]# /alidata/server/php-5.5.7/bin/phpize  使用php安装时声称的phpize来来扩展memcached,/alidata/server/php-5.5.7/bin/  这个是我安装php的路径,请到你自己的php安装路径下找到phpize这个文件。

4、[root@iZm5e8mdarp2gzrruoytkiZ memcached-3.0.3]# ./configure --with-php-config=/alidata/server/php-5.5.7/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl

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

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

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

5、root@iZm5e8mdarp2gzrruoytkiZ memcached-3.0.3]# make

6、root@iZm5e8mdarp2gzrruoytkiZ memcached-3.0.3]# make install

如果成功,则会提示:
Installing shared extensions:     /alidata/server/php/lib/php/extensions/no-debug-non-zts-20121212/
接下来,我们编辑php配置文件php.ini,把 php-memcached 扩展加到配置文件里,找到php.ini,添加extension=/alidata/server/php/lib/php/extensions/no-debug-non-zts-20121212/memcached.so;保存,重启apache!

注意:安装的过程中多注意编译的过程,还有就是需要注意各软件包的版本不要差太多,意思就是一个低版本一个高版本,可能就会出错如****no such file or directory 这种情况可能就是因为版本之间差异太大引起的。

Linux 下安装 Memcached 和 PHP 开启 Memcached 扩展的更多相关文章

  1. linux下安装及配置和启动memcached

    一.下载文件: 下载memcached和libevent,放到/hom/zwl/目录下 # wget http://www.danga.com/memcached/dist/memcached-1.2 ...

  2. Linux 下安装FastDFS v5.08 的php扩展

    php扩展也需要依赖于FastDFS一些库文件,所以请先安装FastDFS,具体请看我之前的文章.   一.安装目录 php安装目录 /data/nmp/php FastDFS源码目录 /data/w ...

  3. Linux下安装配置Node及memcached

    这篇主要是记录Linux下安装Node及memcached遇到的问题及安装配置过程,方便日后查阅 Node安装及配置 [root@hostname ~]tar zxvf node-v0.12.4.ta ...

  4. Linux下安装memcached

    Linux下安装memcached 1.运行memcached需要本文开头介绍的libevent库 $ sudo yum install libevent libevent-deve 2.下载安装me ...

  5. Nginx入门篇-基础知识与linux下安装操作

    我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/SM ...

  6. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  7. linux下安装apache详解

    下载httpd-2.2.6.tar.bz2  把httpd-2.2.6.tar.bz2放到/soft 下[root@localhost ~]#cd /soft[root@localhost soft] ...

  8. linux 下安装redis以及php Redis扩展

    [php] view plaincopy在CODE上查看代码片派生到我的代码片 linux 下安装redis以及php Redis扩展 环境配置: centos6. nginx/ php/ mysql ...

  9. 记录Linux下安装elasticSearch时遇到的一些错误

    记录Linux下安装elasticSearch时遇到的一些错误 http://blog.sina.com.cn/s/blog_c90ce4e001032f7w.html (2016-11-02 22: ...

随机推荐

  1. Yarn init 命令在 Git Bash 中打开时的错误

    最近一直在学习一些新的知识,ES5.ES6.Vue等,当然,作为程序,英文的阅读和听写能力也是要去学习的. 最近慕课网上的qbaty大神出了两套视频,分别是webpack和yarn,本着不断学习的精神 ...

  2. Omi实战-QQ附近用户列表Web页

    原文地址https://github.com/AlloyTeam/omi/blob/master/docs/cn_pr_nearby.md 写在前面 Omi很适合大型复杂的Web页面开发,例如一些We ...

  3. PKUSC2015总结

    突然发现这是自己第100篇博客...写下总结庆祝一下好啦 首先就是..D类狗果真没人权啊啊啊.考的辛辛苦苦结果因为D类拿不到一个好协议真的是哭瞎辣QAQ 然后就是..自己真的是太弱啊啊啊..各种傻逼题 ...

  4. PAT---完美数列

    由于数值比较大,选用long型的 先用快速排序方法对数组进行排序,然后进行查找. 用一个问题是所要查找的数可能不在数组中,因此不能用现成的二叉查找法.试着对二叉查找法进行改进,单没调通. 在查找过程中 ...

  5. Unity3d中如何混用三种脚本语言?

    首先要明白,这三种说的混用是指文件级别的混用,就是说一个文件是由一种语言写的.而不是说你这一个文件可以混用这三种语言,注意这是不允许的. 第二要明白,在unity3d中为什么可以使用三种语言混合开发? ...

  6. markdown中常见的转义字符

    markdown中的转义字符 字符 转义后字符 & & " " > > < < 不断空格   \ \\ ` \` * \* _ \_ {} ...

  7. c风格字符串,字符串字面值,c++字符串

    C风格字符串:本质上就是以空字符null为结束符的数组 可以简单的理解为:有'\0'的是c风格字符串,无'\0'的是普通字符数组 字符串字面值:是一串常量字符,字符串字面值常量用双引号括起来的零个或多 ...

  8. 【经验】css

    1.父元素overflow:hidden,当父元素大小减小到不容纳子元素时,会出现滚动条.2.input的盒模型尺寸基准是content-box,它的宽度将是以width-border计算,也就是说一 ...

  9. 【Java每日一题】20170308

    20170307问题解析请点击今日问题下方的"[Java每日一题]20170308"查看(问题解析在公众号首发,公众号ID:weknow619) package Mar2017; ...

  10. Alamofire源码解读系列(五)之结果封装(Result)

    本篇讲解Result的封装 前言 有时候,我们会根据现实中的事物来对程序中的某个业务关系进行抽象,这句话很难理解.在Alamofire中,使用Response来描述请求后的结果.我们都知道Alamof ...