[安装 libevent]

$ tar zxvf libevent-2.0.20-stable.tar.gz
$ cd libevent-2.0.20-stable/$ ./configure --prefix=/usr/local/libevent
$ make && make install

注:Mac下可能会出错:bufferevent_openssl.c:60:10: fatal error: 'openssl/bio.h' file not found,解决方案:

$ brew install openssl
$ brew link openssl --force
$ cp -R /usr/local/Cellar/openssl/1.0.2h_1/include/openssl ~/software/libevent-2.0.22-stable

[安装memcached服务端]

$ tar zxvf memcached-1.4.39.tar.gz
$ ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent
$ make && make install

[启动]

$ cd /usr/local/memcached
$ ./memcached -u root –d    #启动memcached
$ ps -ef |grep memcached     #查看memcached运行状态

【备注】设置memcached开机启动,vim打开/etc/rc.local在最后面写入:

/usr/local/memcached/bin/memcached -u root -d

[连接]

$telnet 127.0.0.1 11211stats     --查看状态
version       --查看版本
set user 1 3000 10 --添加数据
get user  --获取数据
delete user    --删除数据
flush_all --清空所有

安装php-memcached扩展】

[安装 libmemcached]

$ tar zxvf libmemcached-1.0.18.tar.gz
$ cd libmemcached-1.0.18/$ ./configure --prefix=/usr/local/libmemcached --with-memcached --enable-sasl
$ make && make install

注:Mac下可能会出错:error: use of undeclared identifier 'ntohll',解决方案:

(1)编辑libmemcached/byteorder.cc文件
在 #include "libmemcached/byteorder.h" 下面增加以下内容:
#ifdef HAVE_SYS_TYPES_H
#include #endif (2)、编辑clients/memflush.cc文件
将两处 if (opt_servers == false)
替换成 if (opt_servers == NULL)

[安装 php-memcached扩展]

[https://github.com/php-memcached-dev/php-memcached]

$ unzip php-memcached-php7.zip
$ cd php-memcached-php7/
$ /usr/local/php/bin/phpize
$ ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl
$ make && make install

安装完成后,在php.ini(/usr/local/php/php.ini) 后面添加 extension=memcached.so

 [PHP操作memcached]

addServer('127.0.0.1', 11211) or die ("Could not connect"); //连接Memcached服务器
$mem->set('key', 'test'); //设置一个变量到内存中,名称是key 值是test
$val = $mem->get('key'); //从内存中取出key的值
echo $val;
?>

Linux下编译安装PHP扩展memcached的更多相关文章

  1. Linux下编译安装PHP扩展redis

    [Redis] 先安装tcl: yum install tcl [下载和安装] 官网http://redis.io/  下载最新的稳定版本,这里是3.2.0, 然后解压文件并进入. $ sudo ta ...

  2. linux下编译安装pthreads扩展

    这里讲的是如何编译安装pthreads,以后编译安装其他PHP扩展可以参考此方法. 下载pthreads源码:http://pecl.php.net/package/pthreads 首先确定安装的p ...

  3. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  4. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  5. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  6. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  7. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  8. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  9. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

随机推荐

  1. 【MFC】OnInitDialog

    OnInitDialog OnInitDialog是MFC的面向对象编程语言的类CDialog中的初始化成员函数名(虚函数).相当于对对话框进行初始化处理.   属    性 初始化成员函数名 处   ...

  2. 安装SQL Server 2008数据库(带完整图解)

    方法/步骤   1 双击sql server 2008的.exe安装文件,进入[SQL Server 安装中心]. 2 点击界面左侧的[安装],然后点击右侧的[全新SQL Server 独立安装或向现 ...

  3. fildder教程

    转载地址:写得很不错的fildder教程   http://kb.cnblogs.com/page/130367/ Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.c ...

  4. 九度 1481 Is It A Tree?

    题目 给定一个有向图, 判断其是否是一棵树 要求 (1) 除了根节点外, 每个节点只有唯一的前驱 (2) 从根节点出发, 到任何节点有且只有一条路径 思路 1. 要求(1) 可以通过记录每个节点的前驱 ...

  5. POJ 1742 Coins(多重背包, 单调队列)

    Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...

  6. 进程 vs. 线程(python的协程)(转廖雪峰老师python教程)

    我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点. 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Work ...

  7. hex()

    hex() 用于将十进制数字转换成十六进制 In [1]: hex(10) Out[1]: '0xa' In [2]: hex(11) Out[2]: '0xb'

  8. js里面声明变量时候的注意事项

    变量名可以是中文,只能有下划线,$,数字和字母组成,开头只能以下划线(不建议使用)和字母开头.

  9. Android 使用ProgressBar实现进度条

    ProgressBar简介ProgressBar是进度条组件,通常用于向用户展示某个耗时操作完成的进度,而不让用户感觉是程序失去了响应,从而更好地提升用户界面的友好型. 课程目标(1)制定Progre ...

  10. final,finally,finalize的区别

    1.final用于声明属性.方法和类,分别表示属性不可变.方法不可覆盖,类不可继承: 2.finally是异常处理语句结构的一部分,表示总是执行代码块: 3.finalize是Object类的一个方法 ...