linux下安装php扩展memcache的方法

memcache 的工作就是在专门的机器的内存里维护一张巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率,减轻后端数据库的读写压力。

实验环境:centos 6.6 x86_64
LAMP环境搭建完毕:php版本5.6.8、apache版本2.4.12

1、在安装memcached之前需要安装libevent支持:

# wget http://syslab.comsenz.com/downloads/linux/libevent-1.4.12-stable.tar.gz
# tar zxvf libevent-1.4.12-stable.tar.gz
# cd libevent-1.4.12-stable
#./configure --prefix=/usr/local/libevent
#make && make install

2、服务器端 memcached 的编译安装

# wget http://syslab.comsenz.com/downloads/linux/memcached-1.4.5.tar.gz
# tar zxvf memcached-1.4.5.tar.gz
# cd memcached-1.4.5
# ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
# make && make install

3、客户端安装memcache步骤

# wget http://www.lishiming.net/data/attachment/forum/memcache-2.2.3.tgz
# tar zxvf memcache-2.2.3.tgz
# cd memcache-2.2.3
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --enable-memcache
# make

执行make后报错如下:

/usr/local/src/memcache-2.2.3/memcache.c: 在函数‘php_mmc_connect'中:
/usr/local/src/memcache-2.2.3/memcache.c:1902: 错误:提供给函数‘zend_list_insert'的实参太少
/usr/local/src/memcache-2.2.3/memcache.c:1919: 错误:提供给函数‘zend_list_insert'的实参太少
/usr/local/src/memcache-2.2.3/memcache.c: 在函数‘zif_memcache_add_server'中:
/usr/local/src/memcache-2.2.3/memcache.c:1975: 错误:提供给函数‘zend_is_callable'的实参太少
/usr/local/src/memcache-2.2.3/memcache.c:2003: 错误:提供给函数‘zend_list_insert'的实参太少
/usr/local/src/memcache-2.2.3/memcache.c: 在函数‘zif_memcache_set_server_params'中:
/usr/local/src/memcache-2.2.3/memcache.c:2059: 错误:提供给函数‘zend_is_callable'的实参太少
/usr/local/src/memcache-2.2.3/memcache.c: 在函数‘mmc_find_persistent'中:
/usr/local/src/memcache-2.2.3/memcache.c:2159: 错误:提供给函数‘zend_list_insert'的实参太少
/usr/local/src/memcache-2.2.3/memcache.c:2177: 错误:提供给函数‘zend_list_insert'的实参太少
make: *** [memcache.lo] 错误 1

根据错误,进行修改:
vi memcache.c
将所有的:zend_list_insert(pool, le_memcache_pool);
改为:zend_list_insert(pool, le_memcache_pool TSRMLS_CC);

将所有的:zend_list_insert(mmc, le_pmemcache);
改为:zend_list_insert(mmc, le_pmemcache TSRMLS_CC);
讲所有的:if (!zend_is_callable(failure_callback, 0, NULL))
改为:if (!zend_is_callable(failure_callback, 0, NULL, NULL))
修改完成后,重新make编译;

代码如下:

# make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

安装完成后的memcache.so模块在上面的路径中;

代码如下:

# vi /usr/local/php/etc/php.ini

在最后一行添加:extension="memcache.so"
保存退出后,重启apache,使用php -m查看已经安装的memcache模块,或者在浏览器访问phpinfo.php查看;

启动memcached服务端:

# /usr/local/memcached/bin/memcached -d -u root -m 256 -p 11211 -l localhost
-d   是启动一个守护进程,
-m  后边指定memecached使用多少内存,单位是M
-p  指定memcached 启动端口
-l  指定绑定的IP
-u  指定以某个账户的身份启动
启动后报错,找不到libevent模块;
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
需要把 libevent-1.4.so.2 拷贝或链接到 /usr/lib64 (x86_64位系统,32位的为/usr/lib目录)中,否则 memcached 无法正常加载。
# cp /usr/local/libevent/lib/libevent-1.4.so.2 /usr/lib64

memcache环境测试,写一个php文件,在网站根目录下

[root@localhost htdocs]# cat 1.php
<?php
$mem = new Memcache;
$mem->connect("localhost", 11211);
$mem->set('test','hello world',0,60);
echo $mem->get('test');
?>

使用curl或者网页访问IP/1.php如果显示hello world 说明配置成功。

# curl -xlocalhost:80 192.168.4.231/1.php
hello world

hello world

以上就是本文跟大家分享的linux下安装php扩展memcache的方法,希望大家可以喜欢。

(0)

相关推荐

  • linux下安装php的memcached客户端

    下面将介绍安装php的memcached客户端安装步骤 1.下载安装libmemcached客户端 官网地址:http://libmemcached.org/libMemcached.html $wget -c https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz #亲 千万不要下载1.0.17哦 有bug $tar -zxvf libmemcached-1.0.16.tar.gz $

  • CentOS 5.4下的Memcache安装步骤(Linux+Nginx+PHP+Memcached)

    一.源码包准备 服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-v1.4.4 .下载:http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent, libevent的最新版本是libevent-1.4.13-stable.(如果你的系统已经安装了libevent,可以不用安装)官网:http://w

  • linux下安装配置Memcache和PHP环境的实现

    亲测有效 在网上查找了好多资料,很多都安装不成功,而且都是同一个资料相互抄袭泛蓝,没一个实用的.今天配置好了,将配置过程分享一下. Linux下的Memcache运行需要libevent的支持,所以在安装memcache之前必须要安装libevent.安装过程中可能会遇到很多问题,本人都将可能遇到错误时的解决办法整理出来了. 1.先安装libevent: #yum -y install libevent libevent-devel 2.安装memcached,最新版本为:memcached-1

  • linux下安装php扩展memcache的方法

    memcache 的工作就是在专门的机器的内存里维护一张巨大的hash表,来存储经常被读写的一些数组与文件,从而极大的提高网站的运行效率,减轻后端数据库的读写压力. 实验环境:centos 6.6 x86_64 LAMP环境搭建完毕:php版本5.6.8.apache版本2.4.12 1.在安装memcached之前需要安装libevent支持: # wget http://syslab.comsenz.com/downloads/linux/libevent-1.4.12-stable.tar

  • Linux 下安装 memcached 及 memcacheq的方法

    一:安装memcached 1.下载memcached包 下载地址:http://www.memcached.org (最新包就在首页,点击下载就OK)     解压包:# tar -zxvf memcached-1.4.13.tar.gz (根据自身的情况解压到目录)     进入目录:# cd memcached-1.4.13 2.安装libevent 检查一下有没有安装libevent: ls -al /usr/lib |grep libevent     如果没有就安装libevent

  • linux下安装nodejs及npm的方法

    1.下载npm包 官网下载npm安装包,https://nodejs.org/en/,左边是稳定版右边是最新版. 2.解压,创建链接 将压缩包解压到/opt(一般软件放在该目录)目录下.可以看到bin目录下有两个可执行文件node和npm,在/usr/local/bin中创建该文件的链接 sudo ln -s /opt/node-v0.12.10-linux-x86/bin/node /usr/local/bin/node sudo ln -s /opt/node-v0.12.10-linux

  • Linux下安装SVN服务端的方法步骤

    一.yum 安装 yum install subversion 二.配置 1.创建仓库 我们在/home下建立一个名为svn的仓库(repository),以后所有代码都放在这个下面,创建成功后在svn下面多了几个文件夹. [root@localhost /]# cd /home [root@localhost home]# mkdir svn [root@localhost home]# svnadmin create /home/svn [root@localhost home]# ls s

  • Linux下安装PHP curl扩展的方法详解

    本文实例讲述了Linux下安装PHP curl扩展的方法.分享给大家供大家参考,具体如下: 今天开发时遇到这样的一个问题,就是如何在Linux下安装PHP的curl扩展,我的LNMP环境都是原先进行编译安装了的,不是使用YUM方式安装的. 我的环境: Linux:CentOs 6.4 PHP:5.6.30 解决方法: 1.进入PHP源码目录,就是之前将PHP下载到服务器并解压的地址 cd /usr/local/src/php-5.6.30 2.进行PHP源码目录下的ext/curl cd ext

  • php7下安装event扩展方法

    有效安排I/O,时间和信号的扩展 使用可用于特定平台的最佳I/O通知机制的事件,是PHP基础设施的libevent端口. 下载地址:http://pecl.php.net/package/event 安装支持库libevent,需要编译高版本(这里以最新版本release-2.1.8-stable为例) wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.

  • Linux下安装Tomcat7.0.82的简单方法

    1.apache-tomcat-liunx-7.0.82下载地址: http://download.csdn.net/download/yichen01010/10019116 2.下载后解压即可 cd /root/Downloads cp apache-tomcat-7.0.82.tar.gz /usr/app cd /usr/app tar -zvxf apache-tomcat-7.0.82.tar.gz 总结 以上所述是小编给大家介绍的Linux下安装Tomcat7.0.82的简单方法,

  • 在IIS下安装PHP扩展的方法(超简单)

    很多网上的文章在介绍IIS下安装PHP的时候都会涉及到很多配置的修改,其实大部分都是不必要的,对于需要查找如何安装PHP扩展的人来说,其实最需要的或许只是一个现在就能用的版本,在这个时候引入过多的不必要的配置我认为是低效的. 那么归纳一下其实安装步骤只需要三步: 1.下载PHP的文件包: 2.配置PHP: 3.将PHP扩展引入IIS: 当然,或许还有第4步:测试. 第一步:下载PHP PHP的windows版本是直接提供了一个压缩包,里面包括了运行所需的全部文件,堪称傻瓜式安装,可以从官网上的w

  • Linux下安装Python3和django并配置mysql作为django默认服务器方法

    我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包. yum install mysql mysql-devel #为了测试方便,我们需要安装sqlite-devel包 yum install sqlite-devel 2  接下来需要安装Python了,因为Python3已经成为主流,所以接下来我们要安装Python3,到官网去下载Python3

随机推荐