memcached和PHP的版本问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcached和PHP的版本问题相关的知识,希望对你有一定的参考价值。
memcached服务已经启动,而且运行正常,现在就是php和memcached的版本对不上,我的PHP是5.2.3的,下载了好多扩展的版本,包括针对php5.2.*的版本也还是不好用,已经重启过APACHE,甚至电脑,phpinfo里还是不显示,现在求php5.2.3的memcached的扩展,或者问题的解决方法,谢过各位。
参考:http://www.nioxiao.com/php-memcached在PHP中使用Memcached,有两种方式,一种是安装PHP的memcache扩展(实际上还有另外一个memcached扩展,是基于比较流行的libmemcached库封装的),该扩展是用c写的,效率较高,需要在服务器上安装。另外一种则是直接使用客户端的php-memcached-client类库
参考资料:http://www.ningoo.net/html/2009/use_memcached_in_php.html
参考技术A http://www.ccvita.com/257.htmlhttp://www.ccvita.com/258.html
你可能是安装和使用不正确,不是版本的问题 参考技术B PHP和membercached配合使用,有时会出现丢数据的情况
Memcached技术04 PHP操作memcached
如何使用php程序操作我们的memcached服务
danga公司为了能够让php程序能够操作memcached,专门提供了一套供php使用的扩展程序(即php_memcache.dll)
步骤,准备工作.
(1) 把 php_memcache.dll 文件拷贝 php的ext 下
? 不同版本的php 所使用的 php_memcache.dll 的版本不一样
(2) 修改php.ini文件,加载 php_memcache.dll (该文件就是封装了一堆函数)
;加载php_memcache.dll 文件
extension=php_memcache.dll (.dll扩展程序是用vc将c或c++程序编译而成的。)
(3) 重新启动apache
(4) 我们写程序来完成curd操作.
mem1.php
<?php //创建一个mem对象实例 $mem=new Memcache; if(!$mem->connect("127.0.0.1",11211)){//打开一个memcached服务端连接 die(‘连接失败!‘); } //增加 //1.增加一个字串 //Memcached::add(...)如果已经有key1则返回false.Memcached::set(...),key1存在则替换,key1不存在则添加 /*if($mem->set(‘key1‘,"beijing",MEMCACHE_COMPRESSED,60)){ echo ‘添加ok‘; }*/ //2.添加数值 /* if($mem->set(‘key1‘,100,MEMCACHE_COMPRESSED,60)){ echo ‘添加ok‘; }*/ //3.添加数组 //在添加数组是,根据需要. 希望序列号放入 , //serialize<=>unserialize, 如果根据需要,也可以json_encode <=> json_decode $arr=array("bj",‘tj‘); if($mem->set(‘key1‘,$arr,MEMCACHE_COMPRESSED,time()+31*3600*24)){ echo ‘添加数组ok‘; } //4.添加对象 /*class Dog{ public $name; public $age; public function __construct($name,$age){ $this->name=$name; $this->age=$age; } } $dog1=new Dog(‘小狗‘,50); if($mem->set(‘key1‘,$dog1,MEMCACHE_COMPRESSED,60)){ echo ‘添加对象ok‘; }*/ //5.添加null 布尔值 /*if($mem->set(‘key1‘,false,MEMCACHE_COMPRESSED,60)){ echo ‘添加布尔ok‘; }*/ //6. 资源类型放入. /*$con=mysql_connect("127.0.0.1","root","root"); if(!$con){ die(‘连接数据库失败‘); } var_dump($con); echo "<br/>"; if($mem->set(‘key1‘,$con,MEMCACHE_COMPRESSED,60)){ echo ‘添加资源ok‘; }*/ //查询 $val=$mem->get(‘key1‘); var_dump($val); //修改 //可以使用replace if($mem->replace("key11",‘hello‘,MEMCACHE_COMPRESSED,60)){ echo ‘replace ok‘; }else{ echo ‘replace no ok‘; } //删除 echo "<br/>"; if($mem->delete(‘key14‘)){ echo ‘key14 删除‘; }else{ echo ‘key14不存在‘; }
如何使用PHP源码来操作memcached服务
如果管理员不让我们去加载 memcache.dll 文件,我们可以直接通过源码操作.
首先关闭php_memcache.dll扩展,接着看mem3.php代码:
以上是关于memcached和PHP的版本问题的主要内容,如果未能解决你的问题,请参考以下文章
在Windows下为PHP5.6安装redis扩展和memcached扩展
在Windows32下为PHP5.6安装redis扩展和memcached扩展