zoukankan      html  css  js  c++  java
  • php也没有成功加载memcached

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

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

    权限问题:

     

     

    参考下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加载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里面就应该可以看到配置信息,如下:


    测试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也可以了。

     

     

    其他参考资料:

    memcachedPHP5.2.3_memcache.dll

    http://vb2005xu.iteye.com/blog/1283421

    memcache for windows+php_memcache.dll

    http://bbs.dedecms.com/402274.html

    Windows(iis)下的Memcache安装方法(文件下载),php_memcache.dll

    http://www.cnblogs.com/rabbit25132008/archive/2010/12/15/1907043.html

    php_memcache.dll 下载, 最新 php_memcache.dll 下载 memcache

    http://apps.hi.baidu.com/share/detail/14623830

    Windows下的Memcache安装与配置

    http://home.phpchina.com/space.php?uid=52440&do=blog&id=142641

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

    http://archive.cnblogs.com/a/2216704/

  • 相关阅读:
    实现报表数据外置计算
    实现报表数据的可控缓存
    实现报表数据分库存储
    实现报表数据预先计算
    实现报表与算法的统一管理
    如何实现报表直接打印需求
    交叉填报表的制作
    格间计算性能提升方案
    填报脚本之轻松搞定复杂表的数据入库
    treeview_dropdown_control
  • 原文地址:https://www.cnblogs.com/gzmg/p/3414686.html
Copyright © 2011-2022 走看看