首页 > 编程语言 >基于libmemcached为php扩展memcached服务

基于libmemcached为php扩展memcached服务

时间:2023-01-05 18:06:22浏览次数:62  
标签:-- memcached local php 0.42 libmemcached


基于libmemcached,php扩展memcached的安装

张映


一,为什么要装memcached扩展

memcached的1.2.4及以上增加了CAS(Check and Set)协议,对于同一key的多进行程的并发处理问题。这种情况其实根数据库很像,如果同时有几个进程对同一个表的同一数据进行更新的话,那会不会打架呢,哈哈。数据库里面可以锁定整张表,也可以锁定表里面一 行的功能,其实memcached加入的CAS根这个差不多。

php的扩展memcache,不支持cas,所以我们要装memcached扩展,memcached扩展是基于libmemcached,所以要先安装libmemcached

 

二,查看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
如果版本过低,考虑重新装一下

退出telnet ,ctrl + ] 然后在按q就行了。

三,安装所要软件

wget ​​http://launchpad.net/libmemcached/1.0/0.42/+download/libmemcached-0.42.tar.gz​

wget ​​http://pecl.php.net/get/memcached-1.0.2.tgz​

memcached的官方网站 ​​http://www.memcached.org/​

四,安装libmemcached

tar zxvf libmemcached-0.42.tar.gz
cd libmemcached-0.42
./configure --prefix=/usr/local/libmemcached  --with-memcached
make && make install

安装要注意的问题:

1,  安装过程中不要忘了,--with-memcached,不然会提示你

checking for memcached... no
configure: error: "could not find memcached binary"

2,你的memcached是不是1.2.4以上的,如果不是会提示你

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",如果不用这个64位的long型数据,我想php扩展memcached,memcache也就没什么区别了,装memcached也就没什么意思了。

五,php的扩展memcached的安装

tar zxvf memcached-1.0.2.tar.gz
cd memcached-1.0.2
/usr/local/php/bin/phpize
./configure --enable-memcached --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

vi /usr/local/php/lib/php.ini

加上extension=memcached.so重起一下服务就可以了。

标签:--,memcached,local,php,0.42,libmemcached
From: https://blog.51cto.com/kenkao/5991681

相关文章

  • php发送get、post请求的几种方法
    ​方法1:用file_get_contents以get方式获取内容 <?php$url='http://www.domain.com/';$html=file_get_contents($url);echo$html;?>  方法2:用fopen......
  • php&.net对称压缩解压缩探讨
    C#客户端访问PHPSOAPWebService,当传输大量文本数据时,可以通过压缩减少网络传输。C#在System.IO.Compression命名空间下提供了两个类GZipStream类和DeflateStream类来进行......
  • 简单的C#&PHP对称加解密
    byte[]ctxbytes=System.Text.Encoding.UTF8.GetBytes(ctx);byte[]keybytes=System.Text.Encoding.UTF8.GetBytes(key);intctxLen=ctxbytes.Length......
  • Memcached 集群架构方面的问题
    Memcached集群架构方面的问题 * 集群架构方面的问题omemcached是怎么工作的?omemcached最大的优势是什么?omemcached和MySQL的querycache相比,有什么优缺点?o......
  • as3与php交互实现总结
     目前flash在各方个面的应用越来越广,而flash也不单只是注重自身绚丽的效果,也需要和外界程序交换数据,以实现更强大的功能,随着as3的到来,flash和外部交互的方式也越来越简便......
  • PHP异步调用实现方式
    PHP异步调用实现方式浏览器和服务器之间只一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求输出相应的程序,不能保持持久连接。......
  • ThinkPHP多语言模块文件包含RCE复现详细教程
    漏洞描述:ThinkPHP在开启多语言功能的情况下存在文件包含漏洞,攻击者可以通过get、header、cookie等位置传入参数,实现目录穿越+文件包含,通过pearcmd文件包含这个trick即可实......
  • PHP生成签名方法
    将参数按照顺序组合merchant=201905240200152433&orderAmount=10&orderId=bbb1561367503&outcome=yes&payMethod=2&payType=21&signType=MD5&version=1.0拼接商户密钥m......
  • 查找php-fpm
    [root@VM-4-6-centos/]#find/-namephp-fpm/opt/remi/php74/root/usr/sbin/php-fpm/etc/opt/remi/php74/sysconfig/php-fpm/var/opt/remi/php74/log/php-fpm/var/opt/r......
  • LNMP架构环境之PHP+Mariadb环境项目:部署博客wordpress项目
    1)配置nginx博客虚拟主机cat>/etc/nginx/conf.d/02_blog.etiantian.org.conf<server{server_nameblog.etiantian.org;listen80;root/data/blog;indexindex.php......