- 浏览: 378919 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
周仁明:
xin911 写道周仁明 写道js的借用了,谢谢!java的版 ...
人民币金额数字转中文大写程序多种编程语言汇总2011版 -
xin911:
周仁明 写道js的借用了,谢谢!java的版本必然是不对的问题 ...
人民币金额数字转中文大写程序多种编程语言汇总2011版 -
周仁明:
js的借用了,谢谢!java的版本必然是不对的问题很多。
人民币金额数字转中文大写程序多种编程语言汇总2011版 -
zhangzhj85:
...
公开几个移动互联产品设计大神的观点 -
white_crucifix:
嗯,不过网络诊断功能能帮上忙的次数的确微乎其微
戏说windows 7 中的优秀设计
说明:由于一些开源网址有所变化,以及版本也有所变化,所以,这里给出了本年度最新下载网址,以及最新的版本。
本安装文档所用的操作系统是CentOS.
1、为什么要装memcached扩展
memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题。这种情况其实根数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话,那会不会打架呢。数据库里面可以锁定整张表,也可以锁定表里面一行的功能,其实memcached加入的CAS与此差不多。
php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached。但安装之前,先要确认,是否有memcached服务端。
可用命令:
whereis memcached
如果能找到,则要检查版本。
2、查看memcahced的版本信息
telnet 127.0.0.1 12000
stats
你会看到有以下信息
STAT pid 15322
STAT uptime 1885
STAT time 1279455772
STAT version 1.2.8
STAT pointer_size 32
如果版本过低(低于memcached 1.2.4),考虑重新装一下
退出telnet ,ctrl + ] 然后在按q就行了。
php的memcache扩展和memcached扩展的服务器端程序均是memcached. 所以,无论是安装memcache扩展还是memcached扩展,均需要先安装libevent。关于memcache扩展和memcached扩展二者的区别,第一可以参考PHP文档,其二,网上也有详细讲解。这里不多讲。以下是安装步骤:
3、下载所需软件:
libevent官方网站是:http://www.monkey.org/~provos/libevent/
最新版是2.0.10 下载:
curl -O http://www.monkey.org/~provos/libevent-2.0.10-stable.tar.gz
memcached的官方网址是:http://memcached.org/ 目前最新版本是1.4.5。
下载:
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
此外:memcached扩展还支持igninary。这是一个快速高效的序列化库。官方网址是:
http://opensource.dynamoid.com/
当前最新版是 1.1.1,下载网址是:
wget http://opensource.dynamoid.com/igbinary-1.1.1.tar.gz
libmemcached官方网站是(注意:PHP文档中的网址己不可用,很久未更新了):
http://libmemcached.org/libMemcached.html
下载网址是,这里可以查看最新版:
https://launchpad.net/libmemcached/+download
最新版本是0.46
wget http://launchpad.net/libmemcached/1.0/0.46/+download/libmemcached-0.46.tar.gz
虽然PHP默认安装了JSON,但是,memcached如果要支持igbinary,则需要php_json的头文件。所以,要下载pecl的 json-1.2.1.tgz(具体根据你PHP的版本而定,可以用PHPINFO查看一下当前JSON的版本)
wget http://pecl.php.net/get/json-1.2.1.tgz
最后则是pecl的 memcached,这个直接查php文档中的网址,最新版本是1.0.2
网址:http://pecl.php.net/package/memcached
下载:
wget http://pecl.php.net/get/memcached-1.0.2.tgz
4、memcached服务端安装:
如果系统中没有memcached服务端或版本太低,则需要安装。
(1)安装libevent
tar xvfz libevent-2.0.10-stable.tar.gz
cd libevent-2.0.10-stable
./configure && make
make install
这里选用的是默认路径安装,安装后,libevent将会是在/usr/local/lib/目录下
(2)安装memcached服务端
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --with-libevent=/usr/local/lib
make
make install
这里也是默认安装,如果上一安装指定了 --prefix,那么,这里需要用 --with-libevent=指定到相同的路径。
服务端安装结果测试:
/usr/local/bin/memcached -d -m 10 -p 11211 -u root
参数说明:
-d: (run as a daemon) 选项是启动一个守护进程
-m:(max memory to use for items in megabytes (default: 64 MB))是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,
-u:(assume identity of <username> (only when run as root))是运行Memcache的用户,我这里是root,
-l:(interface to listen on)是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址127.0.0.1,
-p:是设置Memcache监听的端口,这里设置了11211,最好是1024以上的端口,
-c:选项是最大运行的并发连接数,默认是1024,这里设置了256,根据服务器的负载量来设定,
-P:(save PID in <file>, only used with -d option)是设置保存Memcache的pid文件,这里是保存在 /tmp/memcached.pid
注:如果启动时出现“memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open
shared object file: No such file or directory”之类的信息,表示memcached找不到libevent的位置
所以,请先使用whereis libevent得到位置,然后连接到memcached所寻找的路径
首先查看,libevent在哪里
[root@localhost tools]# whereis libevent
libevent: /usr/local/lib/libevent.la /usr/local/lib/libevent.so /usr/local/lib/libevent.a
然后,再看memcached从哪里找它
[root@localhost tools]# LD_DEBUG=libs memcached -v 2>&1 > /dev/null | less
可以看到:是/usr/lib/libevent-2.0.so.5,所以,创建软链
[root@localhost tools]# ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5
再次启动,一定OK!关闭memcached :pkill memcached
5、igninary安装:
在做下面操作之前,先查一下 phpize 和 php-config的路径
whereis phpize
whereis php-config
然后,下面的命令中的路径,参考以上的结果。
tar xvfz igbinary-1.1.1.tar.gz
cd igbinary-1.1.1
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config --enable-igbinary
make && make install
修改配置:
方法1:
vi /usr/local/php/lib/php.ini
加上extension=igbinary.so重起一下服务就可以了。
方法2:(我个人喜好这一种方法)
最好的做法是在 /etc/php.d/添加一个文件:igbinary.ini
vi /etc/php.d/igbinary.ini
写入:extension=igbinary.so
注,igbinary提供了很好且快速的序列化函数。这是让PHP可以使用inbinary的函数,如果你不需要,这个配置修改可以不做。
6、libmemcached安装
tar zxvf libmemcached-0.46.tar.gz
cd libmemcached-0.46
./configure --prefix=/usr/local/libmemcached --with-memcached
如果是32位系统:
./configure --prefix=/usr/local/libmemcached --with-memcached --disable-64bit CFLAGS="-O3 -march=i686"
make && make install
安装要注意的问题:
(1), 安装过程中不要忘了,--with-memcached,不然会提示你
checking for memcached… no
configure: error: “could not find memcached binary”
(2),你的memcached是不是1.2.4以上的,64位系统,如果不是会提示你
clients/ms_thread.o: In function `ms_setup_thread’:
/home/zhangy/libmemcached-0.42/clients/ms_thread.c:225: undefined reference to `__sync_fetch_and_add_4′
clients/ms_thread.o:/home/zhangy/libmemcached-0.42/clients/ms_thread.c:196: more undefined references to `__sync_fetch_and_add_4′ follow
collect2: ld returned 1 exit status
make[2]: *** [clients/memslap] Error 1
make[2]: Leaving directory `/home/zhangy/libmemcached-0.42′
解决办法是 --disable-64bit CFLAGS=”-O3 -march=i686″。
(3),--prefix=/usr/local/libmemcached也必须加上,否则libmemcached没有自己的目录,不好管理。
7、php的扩展memcached的安装
先要处理json头文件:
tar zxvf json-1.2.1.tar.gz
cd /usr/include/php/ext #这是默认安装路径。如果你PHP自定义安装,则要到其它路径
mkdir json
cd ./json
cp /usr/local/src/json-1.2.1/php_json.h ./php_json.h
tar zxvf memcached-1.0.2.tar.gz
cd memcached-1.0.2
在做下面操作之前,先查一下 phpize 和 php-config的路径
whereis phpize
whereis php-config
然后,下面的命令中的路径,参考以上的结果。
/usr/local/php/bin/phpize
./configure --enable-memcached --enable-memcached-igbinary --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
./configure --prefix=/usr/local/phpmemcached --with-memcached
make && make install
注意:
--with-libmemcached-dir=/usr/local/libmemcached #与安装libmemcached时指定的prefix一致
修改配置,方法1:
vi /usr/local/php/lib/php.ini
加上extension=memcached.so重起一下服务就可以了。
方法2:最好的做法是在 /etc/php.d/添加一个文件:memcached.ini
vi /etc/php.d/memcached.ini
写入:extension=memcached.so
加这个文件要注意文件权限。否则,phpinfo中additional .ini files parsed 中没有这个文件时,证明权限不对,PHP不能打开这个文件。
8、安装成功后检查:
重启系统:
service httpd restart
这时打开一个运行phpinfo函数的页面,可查看到以下结果:
additional .ini files parsed 这一栏中必须要有(注:确保修改配置时所用的是方法2,以下信息才会有!):
/etc/php.d/igbinary.ini, 和 /etc/php.d/memcached.ini,
如果没有后者,即/etc/php.d/memcached.ini, 则下面的信息也没有(但修改配置时所用的是方法1时除外)
memcached
memcached support enabled
Version 1.0.2
libmemcached version 0.46
Session support yes
igbinary support yes
以上说明,已成功安装
本文为从网上数篇文章整理后,经安装验证后的原创。超级BS摆渡文裤这个垃圾网站的垃圾用户窃取侵权!
发表评论
-
最好的编程语言及其它
2020-10-18 19:48 612一提起最好的编程语言,PHPer一定会说,PHP是世界上最好 ... -
Sight——杀手级提升Laravel开发速度的组件现在开源了!
2020-10-11 18:01 364Sight——杀手级提升Laravel开发速度的组件现在开源 ... -
PHP迭代器模式与环形链表
2020-08-02 15:07 372迭代器模式,并不在最初的23个设计模式中。但 ... -
喜报:我中了一个巨额特等奖,关于PHP的。
2020-07-15 03:53 3今天写程序,程序中需要计算并检查计算的结果 ... -
PHP启动出错,不能加载扩展。
2020-05-10 14:36 797PHP Warning: PHP Startup: Un ... -
PHP中强制引用的实现
2020-01-09 23:17 462为什么要使用引 ... -
PHP数组函数(按使用频度排序)
2019-09-14 17:39 639PHP数组函数较多,初学者很多都记不住,经常会要用时临时查手 ... -
FastAdmin系统后台存在高危安全漏洞
2019-09-07 23:27 2402FastAdmin系统后台存在高危安全漏洞 FastAdm ... -
PHP流数据动态结构处理包简介
2019-09-07 23:11 652SDDS(Stream Data Dynamic Stru ... -
推荐一个Socket 应用协议层组件
2019-06-06 00:34 936SDDS(Stream Data Dynamic Struc ... -
PHP典型垃圾代码点评(1)
2019-05-25 00:48 770从今天开始,陆续给 ... -
Php-Redis-Admin完全安装指南
2019-03-02 13:09 623Php-Redis-Admin 是基于PhpRedmin的 ... -
PHP:在对象上动态添加一个新的方法
2015-02-06 00:44 4312有关在一个对象上动态添加方法,如果你来自Ruby语言或您熟 ... -
数据库变更管理系统ruckusing
2013-09-22 17:38 1675源代码变更管理,我们用CVS,SVN,GITHUB,SOOU ... -
元数据驱动还是标签引擎?
2013-07-22 01:48 2046——OpenBiz Cubi试用随 ... -
推荐 EPESI开发框加与CRM/ERP
2012-12-10 00:50 1820PHP的EPESI开发框架,可能很多人并不熟悉。 ... -
关于PHP的工作流引擎EZER简介
2012-11-30 00:30 22537关于PHP的工 ... -
使用PHP发送传真(PHP code for Sending fax)
2012-04-17 12:58 2887到目前,国内未找到如何用PHP发传真的文章,ITEYE ... -
WEB开发编码规范三字经
2012-02-09 00:32 1329以下是一个仅72字的编码规范三字经。虽说是针对WEB开发而定的 ... -
PHP的连续赋值
2011-08-15 13:20 5920连续赋值很多编程语言均支持,比如:JAVASCRIPT ...
相关推荐
1. **确保环境已安装 PHP**:在开始安装 Memcached 扩展之前,请确保你的 Linux 系统已经安装了 PHP,并且版本兼容。 2. **安装 Memcached 服务**:如果还未安装 Memcached 服务,请先安装并启动 Memcached 服务。 ...
在Linux系统上安装PHP的memcached扩展是一个关键的步骤,特别是在需要使用memcached缓存机制提升Web应用程序性能的时候。memcached是一种高性能的分布式内存对象缓存系统,它能够减轻数据库的负载,通过将数据存储在...
**PHP与Memcached扩展安装详解** 在Web开发中,PHP是一种广泛应用的开源脚本语言,而Memcached则是一个高性能的分布式内存对象缓存系统。两者结合可以极大地提高网站的性能,减少数据库负载。本文将详细介绍如何在...
此外,Memcached支持多台服务器集群,可实现数据的分布式存储,进一步提高系统的可扩展性和性能。 总之,`php_memcached.dll`是PHP7在Windows系统上使用Memcached扩展的关键组件。正确安装和配置此扩展,可以极大地...
本文详细介绍了如何在 Linux 系统下安装 Memcached 及其 PHP 扩展的过程。按照这些步骤操作,可以确保 Memcached 正确地安装并运行在您的服务器上,从而提高应用程序的性能和响应速度。如果在安装过程中遇到任何问题...
在Linux系统上安装Memcached服务是一项基础的系统管理和运维任务,Memcached是一款高性能的分布式内存对象缓存系统,常用于加速动态Web应用。本指南将详细介绍如何在Linux上下载、安装和启动Memcached服务。 首先,...
php memcached扩展,内含安装手册以及源码包,libevent-2.0.22,libmemcached-1.0.18,memcached-1.4.25,memcached-2.2.0,已经在CentOS6.5上进行测试通过。
本文将详细介绍如何在64位Linux系统上安装memcached,并分享作者的实际安装经验。安装过程中涉及到的关键组件包括libevent及其开发库。 #### 二、安装准备工作 在开始安装memcached之前,首先需要确保系统环境满足...
在这个教程中,我们将详细介绍如何在Linux系统上安装和配置Memcached,以及如何安装libevent、libmemcached和PHP的Memcache扩展。 一、安装前准备 在开始安装之前,确保你的Linux系统已经更新到最新版本,并安装了...
本文将详细介绍如何在Linux系统上安装和配置Memcached。 **1. 更新系统** 在安装任何新软件之前,我们需要确保系统是最新的。打开终端并运行以下命令来更新你的Linux发行版: ```bash sudo apt-get update sudo ...
**Memcached 1.4.12:内存缓存系统** ...综上所述,Memcached 1.4.12与PHP7的Memcache扩展是提升Web应用性能的重要工具,正确安装和配置它们,能有效优化数据访问速度,降低数据库压力,从而改善用户体验。
总结起来,这个压缩包提供了一套在Linux上搭建PHP+Memcached网站架构的资源,包括所需的库、服务、扩展的源代码,以及解决安装过程中常见问题的文档。通过按照这些指南进行操作,开发者可以成功地建立一个高效的Web...
memcache的PHP扩展,适用于Architecture为x64,Thread Safety为enabled的PHP版本(phpinfo中可查)
3. **PHP 5.3.8**:这是一个特定的PHP版本,发布于2011年,包含了多个错误修复和改进。使用这个版本的扩展意味着可能不支持较新版本的PHP特性,但能确保与旧版PHP环境兼容。 4. **.dll文件**:在Windows操作系统中...
本文将详细介绍如何在 Linux 系统下安装 Memcached,同时解决在安装过程中可能遇到的一些问题。 #### 二、准备工作 确保系统已经安装了必要的工具和软件包,例如 gcc(用于编译 C 源代码)、make 工具等。可以通过...
当使用PHP7x版本时,需要安装相应的Memcached扩展来实现与Memcached服务器的交互。这个扩展允许PHP应用程序利用Memcached的服务,将数据快速地存储和检索。 **1. PHP7x与Memcached扩展的兼容性** PHP7.x系列是PHP...
### PHP安装memcached知识点 #### 一、理解Memcached与PHP的关系 - **Memcached**:是一种高性能的分布式内存对象缓存系统,用于通过缓存数据库查询结果减少数据库负载,加速动态Web应用,提高网站访问速度。 - **...
windows 操作系统的 php_memcached 扩展。包含适用于php7.0、php7.1、php7.2、php7.3、php7.4,NTS和TS,x86和x86_64各种版本。 重要说明: 1. 安装说明详见“install for windows.pdf”文档; 2. 该资源是...