linux下安装php扩展memcache

简介:

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


实验环境:centos 6.6 x86_64

LAMP环境搭建完毕:php版本5.6.8、apache版本2.4.12    

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

1
2
3
4
5
# 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 的编译安装

1
2
3
4
5
# 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步骤: 

1
2
3
4
5
6
#  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后报错如下:

1
2
3
4
5
6
7
8
9
10
11
12
/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编译;

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

1
2
3
4
5
6
7
[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 说明配置成功。

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

spacer.gifwKiom1Wt82PBkZ6jAAA5_R0aP0Y138.jpg






本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1676746,如需转载请自行联系原作者
目录
打赏
0
0
0
0
18
分享
相关文章
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
64 3
composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
TCPDF库详解:功能、作用及多语言安装指南-tcpdf可不是只有php能用-优雅草卓伊凡
112 5
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
208 17
|
3月前
|
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
135 6
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
5月前
|
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
146 20
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
166 3
01 入门PHP就来我这-安装phpstudy
MAMP PRO 安装php swoole扩展
MAMP PRO 安装php swoole扩展
419 0
MAMP PRO 安装php swoole扩展
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
102 0
17.17 LNMP安装php扩展模块
我们已经知道 LNMP 一键安装包默认只安装了最基本的 Nginx+Mysql+PHP 环境,并没有安装扩展功能模块,如果需要安装扩展模块该怎么办?
297 0
17.17 LNMP安装php扩展模块

热门文章

最新文章

AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等