如何在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
我错过了什么......
答案 0 :(得分:49)
以下是对我有用的步骤:
需要的文件
memcached.exe
Direct Link MSVCP71.DLL
Windows DLL Files msvcr71.dll
php_memcache.dll
Working memcache for PHP 5.3.4或REF 步骤
MSVCP71.DLL
,msvcr71.dll
复制到C:\windows\sysWOW64
memcached.exe
复制到C:\memcached
yes
C:\memcached\memcached.exe -d install
C:\memcached\memcached.exe -d start
php_memcache.dll
复制到C:\wamp\bin\php\php5.3.4\ext
答案 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位)兼容的正确软件包:
我建议您下载“线程安全”。
第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开始获取安装说明。
Download site(不确定官方如何,但在PHP.net上)
答案 4 :(得分:2)
如果您不在5.4.7(最新xampp),请按this链接
答案 5 :(得分:2)
每个人在安装memcache时都遇到问题,这对我来说是如何运作的。
下面是你可以找到不同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)
答案 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信息,请访问:
答案 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。