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文件,在网站根目录下

[[email protected] 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

Memcached 安装及启动脚本 http://www.linuxidc.com/Linux/2013-07/87641.htm

PHP中使用Memcached的性能问题 http://www.linuxidc.com/Linux/2013-06/85883.htm

Ubuntu下安装Memcached及命令解释 http://www.linuxidc.com/Linux/2013-06/85832.htm

Memcached的安装和应用 http://www.linuxidc.com/Linux/2013-08/89165.htm

使用Nginx+Memcached的小图片存储方案 http://www.linuxidc.com/Linux/2013-11/92390.htm

Memcached使用入门 http://www.linuxidc.com/Linux/2011-12/49516p2.htm

Memcached 的详细介绍 :请点这里

Memcached 的下载地址 :请点这里

本文永久更新链接地址 : http://www.linuxidc.com/Linux/2015-07/120390.htm

时间: 2024-10-13 15:53:38

Linux下安装PHP扩展Memcache的相关文章

linux下安装opcache扩展

linux下安装opcache扩展 参考:http://www.php.net/manual/zh/opcache.installation.php 1 2 3 4 5 6 7 wget http://pecl.php.net/get/zendopcache-7.0.2.tgz tar zxvf zendopcache-7.0.2.tgz cd zendopcache-7.0.2 /usr/local/php/bin/phpize ./configure --with-php-config=/u

linux 下安装php扩展

linux下安装php扩展 步骤: 1.在扩展解压包目录执行 phpize 2.执行 ./configure --with-php-config=/usr/local/php/bin/php-config 3.编译 make&&make install (安装完成后在php安装目录下的扩展目录就会有相应的.so扩展文件.) 4.配置支持php 修改php.ini 在最后一行添加以下内容  extension= 扩展文件名.so 5.重启服务  

linux下安装php扩展redis缓存

下载phpredis安装包 wget https://github.com/nicolasff/phpredis/tarball/master 在下载目录解压phpredis.tar.gz tar zxvf phpredis.tar.gz cd phpredis 使用php的phpize编译安装包(需要进入到解压出来的目录里面) /usr/local/php/bin/phpize 设置配置 ./configure --with-php-config=/usr/local/php/bin/php-

linux下安装 gd扩展和 ftp扩展

ftp拓展 1.进入PHP安装源码包,找到ext下的ftp,进入 cd /usr/local/mysql/support-files/php-7.0.12/ext/ftp 2./usr/local/php/bin/phpize 3../configure --with-php-config=/usr/local/php/bin/php-config --enable-ftp 4.make && make install 5.vim /etc/php.ini  添加 : extension=

Redis linux 下安装 及扩展配置

1.首先在/usr/local/ 创建文件夹 reids Cd /usr/local/ mkdir redis 2.把redis安装包放在redis目录下面进行解压phpredis-2.2.4.tar.gz; Tar zvxf phpredis-2.2.4.tar.gz Tar  zvxf  redis-3.2.0.tar.gz 3.进入redis解压好的安装包 redis-3.2.0.tar.gz 进行make编译 Cd /usr/local/redis/redis-3.2.0 Make 4.

linux下安装redis扩展

1.下载php-redis扩展包 2.解压拆包后进入目录,可以看到如下: 3.在该目录下执行php安装目录下的phpize命令 4.此时目录下会多一个configure文件 5.现在可以配置了,--with-php-config 是告诉扩展需要安装的位置,自动帮我们配置好编译程序(执行一旦报错,有可能是没有安装autoconf,执行以下yum install autoconf即可) 6.编译make 7.编译通过,执行 make install 安装完之后,提示该扩展放置的目录,进入该目录会发现

Linux下安装和设置memcache(转)

memcache是高性能,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度.据说官方所说,其用户包括twitter.digg.flickr等,都是些互联网大腕呀.目前用memcache解决互联网上的大用户读取是非常流行的一种用法. 下载安装 下载了,我到了其官方(http://memcached.org/),目前最新的下载版本是1.4.5 还要再安装libevent这个软件,从官方(http://monkey.org/~provos/libevent/)下载,目前最新的稳定

linux下安装php扩展的redis

bu要在网上顺便找个redis扩展,一是不安全,而是,别人的redis可能只能new,能连接,但是不保证是否能进行其他操作, 1.百度一下php redis扩展. 搜索到这个网址:http://pecl.php.net/package/redis 选择stable稳定版本.wget 地址 tar -zxvf 解压 cd 到解压目录 phpize ./configure  --with-php-config=/usr/bin/php-config make make  install vim ph

linux下为PHP扩展安装memcache模块

linux下为PHP扩展安装memcache模块 2011-09-05 13:31:00|  分类: linux|举报|字号 订阅 sh# wget http://www.danga.com/memcached/dist/memcached-1.2.6.tar.gzsh# wget http://www.monkey.org/~provos/libevent-1.4.6-stable.tar.gzsh# wget http://pecl.php.net/get/memcache-3.0.1.tg