php没有成功加载memcached一些思考思路

DurkBlue1个月前 ( 05-04 )34抢沙发
php没有成功加载memcached一些思考思路摘要: 常规方法安装memcached以后,进程中没有成功启动memcached.exe,并且php也没有成功加载memcached。※※※※※※※※※※※※※※※※※※※※※※※※※※※...

常规方法安装memcached以后,进程中没有成功启动memcached.exe,并且php也没有成功加载memcached

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 

权限问题:

 php没有成功加载memcached一些思考思路 第1张

php没有成功加载memcached一些思考思路 第2张 

 

参考下windows下文件移动后权限的原则。 

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 

处理过程如下:

网上搜索了下:

这篇文章讲的还算是很清楚的:

PHP学习笔记】Windows Memcache安装配置

以前学习php,没怎么注意缓存,为了跟上速度,今天决定装了下。

首先准备好安装文件,点击这里下载。(我下载是安装包,如果用源码安装看了下文档有点麻烦,所以这里偷了下懒。有需要的话可以点击这里

安装Memcache 

下面是详细说明:

1.解压缩到某个路径下,这里我放到D:\memcached1.2.4

2.通过命令行安装,首先进入该目录下,输入memcached.ext -d install

3.上一步不出意外的话,就安装成功了。那么就可以启动了。同样的输入memcached.ext -d start

4.OK,现在可以看看你的任务管理器有没有一个memcached.exe的进程了

php没有成功加载memcached一些思考思路 第3张

 

PHP加载Memcache

很简单。不过还没完,你只是安装了一个memcached caching server,还没有和php建立关联。所以在php程序里还不能运用。

由于我的php版本是5.2.17的,下载的php_memcache.dll也要是对应的。如果你的php5.3+的,可以在这里下载

 php_memcache-cvs-20090703-5.3-nts-VC6-x86.zip

http://downloads.php.net/pierre/php_memcache-2.2.6-5.3-nts-vc9-x86.zip 

官方地址:http://downloads.php.net/pierre/ 

安装与平时添加扩展完全一样,把dll文件拷到你的php目录的ext目录下,然后,

php.ini中添加extension=php_memcache.dll,重启服务器,在phpinfo里面就应该可以看到配置信息,如下:

php没有成功加载memcached一些思考思路 第4张

测试Memcache

1 <?php
2     $mem = new Memcache;
3     $mem->connect('127.0.0.1', 11211);
4     $mem->set('key', 'This is a test!', 0, 60);
5     $val = $mem->get('key');
6     echo $val//output This is a test!
7     echo '<br/>';
8     echo '我的Memcache版本:'.$mem->getVersion();//output 1.2.4
9 ?>

注意:第2行部分,connect里面的参数第一个表示服务器地址,第二个表示端口号,具体函数详细说明可以查看这里

提出问题,及解决

还是第2行,第一个参数是ip地址,所以,尝试用localhost试了下,结果,提示memcache_connect() [function.memcache-connect]: Can’t connect to localhost:11211

google了下,这里需要更改hosts文件,添加一行127.0.0.1       localhost,如果已经存在了,只需要把#去掉就行。

这样你可以再试试看,就可以了。

另外,如果在安装Memcache时第一步出现“MSVCP71.dll is missing”,可以查看这里

参考资料

1.memcached for Windows

2.Installing Memcached for PHP 5.3 on Windows 7

3.Windows下的Memcache安装与配置

4.How to install Memcached on Windows machine

另外:本来想定量测试下使用缓存和不用缓存的具体差别,WinCacheGrind还有待研究中,不是很会用……杯具!

         还有需要php5.2版本对应的memcache.dll文件可以点击这里下载!

一、

因为在开始执行安装的时候弹出了Windows防火墙窗口,就以为是防火墙的原因,就又重新按照上面教程下载了安装文件,并重新安装了一遍,在防火墙“例外”中也添加了例外的程序。

这时看到任务管理器中已经memcached.exe进程了。但是重启iis还没有看到php加载memcached。不知什么原因??php.ini中修改了extention_dir的路径为绝对路径也还是不行。

继续网上搜索了下,没有看到相关处理方法,就自己测试:

看到“由于我的php版本是5.2.17的,下载的php_memcache.dll也要是对应的。如果你的php5.3+的,可以在这里下载”这句话,开始以为是php_memcached.dll和php版本不对应,就又在网上找了很多php_memcached.dll下载的地址:

比如:http://dl.dbank.com/c00gag1urbhttp://k1029.com/wp-content/uploads/2012/01/php_memcache-dll-windows-x86.zip这两个替换了我原有的php_memcached.dll,重启iis还是不行。

http://downloads.php.net/pierre/这个官方的下载地址不知做什么用的?

还有找到了memcached的官方主页:http://pecl.php.net/package/memcached

 

二、开始怀疑是不是php.ini其他配置影响了phpmemcached的加载?

就换了我本地机器上可以成功加载memcachedphp.ini替换了服务器上的php.ini,重启iis还是不行,然后又把php_memcached.dll换回了我安装时自己带的php_memcached.dll,重启iis后竟然发现可以了。这时我把php.ini再换为原来服务器上配置的php.ini重启iis也可以了。

php没有成功加载memcached一些思考思路 第5张

此篇文章由DurkBlue发布,撰文不易,转载请注明来处

分享到:
0
赞(0

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

发表评论取消回复

快捷回复:

评论列表 (暂无评论,34人围观)参与讨论