一、首先安装服务端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. CF936C Lock Puzzle 构造

    传送门 好久不做构造题脑子都僵化了qwq 无解的条件是\(s\)包含的字符可重集和\(t\)包含的字符可重集不相等,相等的时候下文会给出一种一定可行的构造方案. 考虑增量构造.定义某个字符串\(x\) ...

  2. Web SSH远程连接利器:gotty

    Web SSH远程连接利器:gotty 这个东东能让你使用浏览器连接你远程的机器! 一. 环境准备 下载https://github.com/yudai/gotty. 请先配置好 Golang 环境, ...

  3. 15天入门RT-Thread之第一天

    今天开始学习jiezhi15天的RT-Thread入门系列课程 感谢RT-Thread提供的免费课程,终于可以系统入门RT-Thread ,感兴趣的同学可以关注RT-Thread官方公众号,获取最新的 ...

  4. ①将SVN迁移到GitLab-单分支迁移

    将SVN上的代码迁移到GitLab上,实际原理是将所迁移的服务器上,拷贝SVN上的相关代码,在服务器上生成Git相关仓库,然后推送到GitLab仓库,并保存SVN相关的提交记录,分支,标签等信息. 一 ...

  5. Ant Design Pro实现导出Excel

    react Ant Design ProUI框架导出Excel(只能导出当前列表数据) 插件安装 npm install js-export-excel 安装完成之后开始引入 import Expor ...

  6. ToLua Timer机制

    从一个Bug说起: 在内部试玩时发现有个任务的玩家跟随Npc逻辑挂了. telnet连接到出问题的设备上, 开始搞事情 这个跟随的逻辑是一个Timer驱动的. 这个Timer在主角创建时就会启动. 一 ...

  7. Ubuntu-18.04 LTS UEFI 安装U盘制作

    要把U盘作为UEFI启动盘,第一个分区要为FAT32分区,EFI程序放在/EFI/Boot/bootx64.efi.为了制作Ubuntu-18.04 LTS安装U盘,可以把一个U盘格式化为FAT32格 ...

  8. Imagetragick RCE(CVE-2016–3714)复现

    CVE-2016–3714: 闲着没事突然想起这个洞来,借用vulhub复现一下 poc有很多:https://github.com/ImageTragick/PoCs 我用的 push graphi ...

  9. scrapy 用pycharm调试

    1. 用pycharm打开scrapy项目,随便右击一个.py文件,选择Debug "***" 2. pycharm 右上角点击刚才debug的文件,选择Edit Configur ...

  10. Python学习日记(九) 装饰器函数

    1.import time a.time.time() 获取到当前的时间,返回值为浮点型 import time print(time.time()) #1565422783.6497557 b.ti ...