2019独角兽企业重金招聘Python工程师标准>>>

安装环境
RHEL 4
Php 5.2.6

所需软件
libevent-1.4.6-stable.tar.gz (http://monkey.org/~provos/libevent/)
memcache-2.2.3.tgz (http://pecl.php.net/package/memcache)
memcached-1.2.6.tar.gz (http://www.danga.com/memcached/)

安装配置

1. 安装libevent
# tar zxf libevent-1.4.6-stable.tar.gz
# cd libevent-1.4.6-stable
# ./configure --prefix=/usr/local/servers/libevent
# make && make install

2. 安装memcached
# tar zxvf memcached-1.2.6.tar.gz
# cd memcached-1.2.6
# ./configure --prefix=/usr/local/servers/memcached --with-libevent=/usr/local/servers/libevent
# make && make install

3. 运行memcached
# /usr/local/servers/memcached -d -m 128 -l localhost -p 11211 -u root

-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached 可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
-u 指定用户;

如果遇到运行memcached时遇到问题,错误提示如下:

/usr/local/servers/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

则运行 LD_DUBUG=libs 就可以知道memcached启动时库的加载路径。具体如下:

# LD_DEBUG=libs /usr/local/servers/memcached/bin/memcached -v
     10929:     find library=libevent-1.4.so.2 [0]; searching
     10929:      search cache=/etc/ld.so.cache
     10929:      search path=/lib/tls/i686/sse2:/lib/tls/i686:/lib/tls/sse2:/lib/tls:/lib/i686/sse2:/lib/i686:/lib/sse2:/lib:/usr/lib/tls/i686/sse2:/usr/lib/tls/i686:/usr/lib/tls/sse2:/usr/lib/tls:/usr/lib/i686/sse2:/usr/lib/i686:/usr/lib/sse2:/usr/lib          (system search path)
     10929:       trying file=/lib/tls/i686/sse2/libevent-1.4.so.2
     10929:       trying file=/lib/tls/i686/libevent-1.4.so.2
     10929:       trying file=/lib/tls/sse2/libevent-1.4.so.2
     10929:       trying file=/lib/tls/libevent-1.4.so.2
     10929:       trying file=/lib/i686/sse2/libevent-1.4.so.2
     10929:       trying file=/lib/i686/libevent-1.4.so.2
     10929:       trying file=/lib/sse2/libevent-1.4.so.2
     10929:       trying file=/lib/libevent-1.4.so.2
     10929:       trying file=/usr/lib/tls/i686/sse2/libevent-1.4.so.2
     10929:       trying file=/usr/lib/tls/i686/libevent-1.4.so.2
     10929:       trying file=/usr/lib/tls/sse2/libevent-1.4.so.2
     10929:       trying file=/usr/lib/tls/libevent-1.4.so.2
     10929:       trying file=/usr/lib/i686/sse2/libevent-1.4.so.2
     10929:       trying file=/usr/lib/i686/libevent-1.4.so.2
     10929:       trying file=/usr/lib/sse2/libevent-1.4.so.2
     10929:       trying file=/usr/lib/libevent-1.4.so.2
     10929:

然后给libevent-1.4.so.2建立一个链接后再运行memcached:
# ln -s /usr/local/servers/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2

4. 安装php的memcache扩展

可以使用php自带的pecl安装程序
# /usr/local/servers/php5/bin/pecl install memcache

也可以从源码安装
# tar zxf memcache-2.2.3.tgz 
# cd memcache-2.2.3
# /usr/local/servers/php5/bin/phpize
# ./configure --enable-memcache=/usr/local/servers/memcached --with-php-config=/usr/local/servers/php5/bin/php-config --with-apxs2=/usr/sbin/apxs
# make && make inst

安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/servers/php5/lib/php/extensions/no-debug-non-zts-20060922/

把这个记住,然后修改php.ini,把

extension_dir = "./"
修改为
extension_dir = "/usr/local/servers/php5/lib/php/extensions/"

并添加一行
extension="no-debug-non-zts-20060922/memcache.so"

5. 用phpinfo查看

测试模块

<?php

$memcache = new Memcache;
$memcache->connect('localhost', 12000) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);

?>

显示结果:

Server's version: 1.2.6
Store data in the cache (data will expire in 10 seconds)
Data from the cache:

object(stdClass)[3]  public 'str_attr' => string 'test' (length=4)  public 'int_attr' => int 123

转载于:https://my.oschina.net/u/247923/blog/644359

linux下为PHP扩展安装memcache模块相关推荐

  1. linux下不卸载nginx安装第三方模块

    背景: 使用apt一键安装了nginx,现在想安装nginx-rtmp-module模块 要求: 在不卸载nginx的情况下,重新编译安装nginx-rtmp-module模块 首先查看nginx版本 ...

  2. linux php安装 phpize,linux下的phpize扩展安装实例详解

    linux系统中,php安装成功后,在bin目录下会生成一个名叫phpize的可执行脚本,这个脚本的用途是动态安装php扩展模块. 使用phpize脚本安装php扩展模块的好处:在安装php时没有安装 ...

  3. 第十章 Linux下RPM软件的安装与卸载

    第十章 Linux下RPM软件的安装与卸载 第一节 RPM软件包安装 rpm命名原则 如: vsftpd-3.0.2-9.el7.x86_64.rpm vsftpd 3.0.2 9 e17 x86_6 ...

  4. Linux 下 微擎 的安装使用

    Linux 下 微擎 的安装使用 我的小站.Github 微擎 是一款基于WEB2.0(PHP+Mysql)技术架构,免费开源的公众平台管理系统,提供公众号.微信小程序.支付宝小程序.百度熊掌号.移动 ...

  5. mysql5.7.20linux安装,linux下 mysql5.7.20安装(精华)

    在linux 系统中mysql配置文件的读取顺序为: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 第一步 创 ...

  6. 实验二:Linux下Xen环境的安装

    实验名称: Linux下Xen环境的安装(centOS7) 实验环境: 本次实验基本是在centOS7的环境下完成,系统内核和系统版本如下: 实验要求: 为centOS7的环境下安装Xen的平台,能够 ...

  7. linux下python3源码安装及卸载

    Linux下Python3的源码编译安装和卸载方法 [日期:2019-06-21] 来源:博客园  作者:wuli潇萧 [字体:大 中 小] (一)Linux下软件的源码编译安装和卸载方法 Linux ...

  8. linux装软件需要root用户,Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

  9. 【转载】【重要】Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用小结

    近段时间在学习 Ffmpeg.Mencoder 音视频转换,大概在 Ubuntu 10.04.Ubuntu 10.10.Ubuntu Natty 测试版上安装和使用过.重点是针对低分辨率的普通手机视频 ...

最新文章

  1. 谱聚类 Spectral Clustering
  2. C++后继有人——D语言
  3. c 语言 double 除法_这是我的C语言入门笔记
  4. ArcGIS实验教程——实验十三:栅格空间插值分析
  5. Consolidate Duplicate Conditional Fragments(合并重复的条件片段)
  6. 线段树 洛谷 p1531 I hate it(I hate it too)
  7. 数学建模及其算法概述
  8. 入门机器学习(十四)--编程作业-支持向量机(Python实现)
  9. 字符串在编号查询中的应用示例及常见问题.sql
  10. #{}不自动改参数类型_Spring参数的自解析还在自己转换?你out了!
  11. day10-Python学习笔记(二十三)线程池,unittest参数化,协程
  12. Scrum电子看板工具
  13. F14-lnmp,wordpress,discuz
  14. 数据结构—B树(思维导图)
  15. csdn博客图片复制不过来怎么办?如何转载?
  16. asp.net中如何退出整个框架(frameset ),回到登录界面?
  17. 基于情感词典的文本情感分类
  18. 硬盘数据传到计算机,如何把旧电脑硬盘上的数据复制传输到新电脑上
  19. Excel如何对单元格内的分隔数据进行求和操作?
  20. 彻底解决Vsart无法拖拽问题!!!Win10无法拖拽问题

热门文章

  1. flash as3 android air 插入视频,FLASH加载外部影片as3代码
  2. 与用户登录shell相关的文件/etc/profile,~/bashrc等浅析
  3. 三十岁前不要去在乎的29件事
  4. 2019年春季学期第四周作业
  5. 分布式项目 cookie共享方案
  6. Excel打印区域设置
  7. 9 README,全套代码
  8. JQuery.validate.js 表单验证
  9. BZOJ 1011: [HNOI2008]遥远的行星
  10. 代理模式【介绍、静态代理、动态代理、入门、应用】