安装php的memcache扩展
linux:
安装环境
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查看
windows:
下载memcache的windows稳定版,解压放某个盘下面,比如在d:\memcached
2. 在终端(也即cmd命令界面)下输入 d:\memcached\memcached.exe -d install 安装
3. 再输入: c:\memcached\memcached.exe -d start 启动。
NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件
5. 在php.ini 加入一行 extension=php_memcache.dll
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
测试模块
<?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.4.4-14-g9c660c0
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
----------------
server端的就是memcached,client端可以看作是php_memcache.dll
php_memcache.dll提供了一组函数,用来缓存,提取,删除缓存等一系列的操作,而通过这些函数,最终把数据是放到了安装有memcached服务的机器上,可以是本机,也可以是其它网络上的机器。
memadmin是一个查看memcached服务器的一个小工具,很强大。(用php+jquery写的)
2cto 附件下载地址:http://up.2cto.com/2011/1124/20111124050347851.rar
百度网盘下载:http://pan.baidu.com/s/14HGPS
安装php的memcache扩展的更多相关文章
- centos'的yum安装php的memcache扩展
centos'的yum安装php的memcache扩展 博客分类: linux 让php能使用memcached服务的扩展有两种:memcache 和 memcached 1. 先安装libmem ...
- linux centos 安装php的memcache扩展
一.centos6.5 yum安装php的memcache扩展 搜索memcache yum search memcache 有了,现在可以安装了 yum -y install memcached m ...
- 安装PHP及Memcache扩展
安装PHP及Memcache扩展 地址:http://blog.csdn.net/poechant/article/details/6802312 1. 下载 (1)libevent 官方网页:h ...
- linux下给php安装memcached及memcache扩展(转)
http://kimi.it/257.html (另外的方法)linux安装memcached及memcache扩展一.安装libevent函数库下载地址:http://libevent.org默认被 ...
- window下安装php7的memcache扩展
安装memcache:http://www.runoob.com/memcached/memcached-connection.html1.4.4 c:\memcached\memcached.exe ...
- linux安装memcached及memcache扩展
一.安装libevent函数库 下载地址:http://libevent.org 默认被安装到:/usr/local/lib目录下 安装memcached之前需要先安装libevent函数库. 可以通 ...
- linux-memcache安装及memcached memcache扩展
linux memcached安装yum -y install libevent libevent-deve yum list memcached yum -y install memcached m ...
- PHP安装sqlsrv和memcache扩展步骤
做了两天的实验才终于摸清楚如何将PHP连接上sqlserver数据库,以及怎样通过修改virtualhost文件来重定向,因为走得弯路比较多所以很想分享一下这次的心路历程. 第一步:安装wamp等类似 ...
- mac 下安装php7.1 memcache扩展
1.下载memcache源代码文件 https://github.com/websupport-sk/pecl-memcache/archive/php7.zip 文件夹名为:pecl-memcach ...
随机推荐
- springmvc接收各种参数
转载:https://blog.csdn.net/lutinghuan/article/details/46820023
- python解决excel工作薄合并处理(openpyxl处理excel2010以上版本)
前段时间使用xlrd.xlwt对文件进行处理(https://www.cnblogs.com/pinpin/p/10287491.html),但是只能处理excel2010以下版本,所以又写了个处理e ...
- my29_PXC集群状态查看
节点从集群中移除的状态 show status like '%wsrep%';wsrep_cluster_status为Disconnected则表示该节点已经不在集群中了,示例如下 > sho ...
- Spring MVC自定义错误页面
在web.xml中添加: <error-page(其他属性404...省略咯)> <location>/error</location> </error-pa ...
- MySQL三大范式和反范式
1. 第一范式确保数据表中每列(字段)的原子性.如果数据表中每个字段都是不可再分的最小数据单元,则满足第一范式.例如:user用户表,包含字段id,username,password 2. 第二范式在 ...
- qt的signal和slot机制
signal和slot是QT中的一大特点 signal/slot是Qt对象以及其派生类对象之间的一种高效通信接口 用户可以将N多个信号和单个槽相连接, 或者将将N个槽和单个信号连接, 甚至是一个信号和 ...
- Big Data Opportunities and Challenges(by周志华)论文要点
大数据环境下的机器学习 三种误解:模型不再重要(大量数据上复杂模型依然提升显著,大数据是的复杂模型充分利用数据且难以过拟合),相关性就足够了(因果关系重要性无法被替代),以前的研究方向不再重要(高性能 ...
- ubuntu 16.04下搜狗输入法不能输入中文解决
之前一段时间正常使用的搜狗输入法突然无法输出中文(具体现象是,可以呼出搜狗输入法界面,但是候选词列表无显示),解决之后记录下来,希望能为同样遇到这个问题的人提供参考.同时附linux下常见软件崩溃问题 ...
- Murano Weekly Meeting 2015.10.13
Meeting time: 2015.October.13th 1:00~2:00 Chairperson: Serg Melikyan, PTL from Mirantis Meeting sum ...
- vue进阶 --- 实例演示
这篇博客将通过一个实例来对vue构建项目的过程有一个了解. 主要用到的知识点如下所示: vue-router 2.0路由配置 router-view 和 router-link的使用 transiti ...