如何在WAMP中启用memcache

时间:2010-06-10 17:03:15

标签: php wamp

如何在WAMP中安装memcache?

我在php.ini中找不到任何php_memche。

我现在该怎么办?

@Ryan

感谢您的步骤,现在在WAMP中启用了memcache,我也在PHPINFO中进行了交叉检查。 memcache正在显示。

我试过下面的示例memcache示例。但是抛出错误。

<?php

$memcache = new Memcache;
$memcache->connect('localhost:8085', 11211) or die ("Could not connect");

$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";

$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;

$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";

var_dump($get_result);

?>

发出以下通知错误。

( ! ) Notice: Memcache::getversion() [memcache.getversion]: Server localhost:8085 (tcp 11211) failed with: Malformed version string (0) in C:\wamp\www\memcache\sample.php on line 7

我错过了什么......

9 个答案:

答案 0 :(得分:49)

以下是对我有用的步骤:

需要的文件

步骤

  1. MSVCP71.DLLmsvcr71.dll复制到C:\windows\sysWOW64
  2. memcached.exe复制到C:\memcached
  3. 单击Windows-Key
  4. 类型:CMD
  5. 按:Ctrl-Shift-Enter
  6. 选择yes
  7. 输入:C:\memcached\memcached.exe -d install
  8. 输入:C:\memcached\memcached.exe -d start
  9. php_memcache.dll复制到C:\wamp\bin\php\php5.3.4\ext
  10. 使用Wamp控件重启Apache
  11. 启用WAMP - &gt; PHP - &gt; PHP扩展 - &gt; php_memcache

答案 1 :(得分:13)

如果您正在运行64位WAMP:

常用服务和扩展程序不适合您。

安装64位memcached服务:

http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip

其中一个php扩展(与你的php版本相匹配):

Php 5.3:http://www.mediafire.com/download.php?o60feet9sw71six

PHP 5.4:http://www.mediafire.com/download.php?8d3vd26z3fg6bf1

Php 5.4的32位版本: http://windows.php.net/downloads/pecl/releases/memcache/3.0.6/php_memcache-3.0.6-5.4-ts-vc9-x86.zip

答案 2 :(得分:12)

我被困在这一段时间,所以我决定写下我的答案:

步骤1:从此站点下载与您的PHP版本和您的wamp版本(32位或64位)兼容的正确软件包:

Link for download site

我建议您下载“线程安全”。

第2步:下载软件包后,您需要将php_memcache.dll复制到您的扩展文件夹中:C:\wamp\bin\php\ {您的PHP版本} \ext

第3步:将扩展程序值添加到php.ini file,要在正确的位置执行此操作,只需搜索已安装的另一个扩展程序,如:extension=php_bz2.dll,然后只需将其粘贴到最后这部分(毕竟“extension =”)

  

延长= php_memcache.dll

步骤4:关闭并打开你的WAMP(不重启 - 关闭并打开)你就完成了。

如果您现在遇到问题 - 只需打开错误日志文件(在根目录中)并检查您在那里遇到的错误。

我的错误是我的WAMP是32位,我已经下载了64位内存缓存

这解决了我的问题,希望它有所帮助。

答案 3 :(得分:2)

Memcache是​​PECL扩展,不与PHP捆绑在一起。从manual page开始获取安装说明。

答案 4 :(得分:2)

如果您不在5.4.7(最新xampp),请按this链接

答案 5 :(得分:2)

每个人在安装memcache时都遇到问题,这对我来说是如何运作的。

  1. 确保你检查你是phpinfo并查找“编译器”我的节目MSVC9(Visual C ++ 2008)这是你知道你是否下载了vc9或vc6的dll。也在phpinfo上查找“Thread Safety”它显示启用然后你需要下载包含TS的dll文件,如果禁用,那么你下载带有NTS字样的dll。
  2. 下面是你可以找到不同php版本的dll的地方,确保你下载的版本符合你的版本:

    确保您有32位或64位并正确下载

    然后将文件解压缩到windows / system32中,如果你的窗口是32位,或者你的窗口是64位的系统文件夹。

    还提取你的wamp / bin / apache / bin和wamp / bin /在you_php_version / ext以及memcache.exe提取到这个文件夹,确保根据你使用memcached 32或64位系统

    完成此操作后,您将以管理员身份运行您的Windows命令提示符,然后浏览到您可执行内存缓存的位置并执行以下操作:

    第1步:memcache.exe -d install 第2步:memcache.exe -d start

    然后在你的wampserver打开托盘菜单并转到php菜单并单击php.ini确保你添加你的扩展名,如果没有在那里列出:extension = php_memcache.dll

    重新启动你的wampserver并转到你的phpinfo并查找内存缓存,如果你看到它已安装。

    希望有所帮助

    祝大家新年快乐!

答案 6 :(得分:0)

  1. 如果你使用了windows,请下载memcache而不是memcached。明智地下载你的php版本(下载链接:https://pecl.php.net/package/memcache/3.0.8/windows
  2. 将php_memcache.dll复制到C:\ wamp \ bin \ php \ php5.3.4 \ ext
  3. 使用Wamp控件重启Apache
  4. 启用WAMP - &gt; PHP - &gt; PHP扩展 - &gt; php_memcache

答案 7 :(得分:0)

Memcache是​​PECL扩展,不与PHP捆绑

此PECL扩展程序未与 PHP 捆绑在一起。有关安装此PECL扩展的信息,请参见标题为PECL扩展的安装的手册章节。其他信息,如新版本,下载,源文件,维护者信息和CHANGELOG,可以在此处找到:http://pecl.php.net/package/memcache

Note:
It's possible to disable memcache session handler support. 
The 'pecl install' option prompts for this (default is enabled) 
however when compiling statically into 
PHP the --disable-memcache-session configure option may be used.

在阅读本页面上其他人提供的信息时,请务必注意,该服务有两个不同的 memcache PHP实现&#34; memcached&#34;。

1) pecl-memcache
2) pecl-memcached

此页面是第一个pecl-memcache。

如果您正在寻找pecl-memcached信息,请访问:

http://www.php.net/manual/en/book.memcached.php

答案 8 :(得分:0)

由于我的编辑被拒绝,因此在Windows上安装内存缓存后,这对我有用,作为补充:

手动将memcache配置添加到php.ini。注意:您的系统上可能安装了两个不同的php.ini。对我来说,修改wamp64 / bin / apache中的代码是唯一有效的方法:

extension=php_memcache.dll
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211

您可能需要将扩展​​名添加到扩展块中;

灵感来自this thread