我安装了memcached,我也通过输入net start“memcached Server”来启动服务,它说服务已经启动所以我重新启动了apache并尝试了几个使用memcached的代码:
<?php
//phpinfo();
$memcache = new Memcache;
$memcache->connect("localhost",11211); //change if necessary
$tempArray = array('fish', 'cow', 'demon');
$temp = serialize($testArray);
$memcache->add("key", $temp, 60);
print_r(unserialize($memcache->get("key")));
?>
但它会出错:Fatal error: Class 'Memcache' not found in C:\wamp\www\temp.php on line 3
这是不是意味着memcache没有启动或其他什么?我没有做任何事情,除了安装和启动服务我是否需要做任何其他事情,比如指定RAM和添加服务器或其他任何东西?我正在使用wamp服务器。
答案 0 :(得分:4)
以下是对我有用的步骤:
网址:How to enable memcache in WAMP
所需文件
memcached.exe Direct Link
MSVCP71.DLL Windows DLL Files
msvcr71.dll
php_memcache.dll Working memcache for PHP 5.3.4
步骤
Copy MSVCP71.DLL, msvcr71.dll to C:\windows\sysWOW64
Copy memcached.exe into C:\memcached
Click Windows-Key
Type: CMD
press: Ctrl-Shift-Enter
Choose yes
type: C:\memcached\memcached.exe -d install
type: C:\memcached\memcached.exe -d start
Copy php_memcache.dll to C:\wamp\bin\php\php5.3.4\ext
Restart Apache using Wamp controls
Enable WAMP -> PHP -> PHP Extensios -> php_memcache
然后,我点击了phpinfo(),它没有显示memcache属性。任何人都可以帮我安装wmap。
- 谢谢 D.Jeeva
答案 1 :(得分:2)
如果您还没有,请确保以管理员身份运行命令提示符。还要确保已启用内存缓存并且您具有正确的dll。使用phpinfo()检查memcache是否已启用PHP端。然后只需运行一个快速脚本来测试memcache是否正常运行。尝试以下操作,如果您没有遇到错误,则启用memcache。
<?php
$memcache = new Memcache;
$memcache->connect("localhost",11211); //change if necessary
$tempArray = array('fish', 'cow', 'demon');
$temp = serialize($testArray);
$memcache->add("key", $temp, 60);
print_r(unserialize($memcache->get("key")));
?>
答案 2 :(得分:2)
Memcached服务还不够。它本身与PHP无关,也不容易从PHP中使用。为了使它可以被PHP使用,您还需要Memcache或Memcached PHP扩展,它将处理与服务的通信。看起来你打算使用Memcache。
PHP manual解释了如何在Windows上安装PECL扩展。 WAMP可能有一个更容易的机制,我不确定,因为我不熟悉WAMP。
修改强>
我发现这个blog post关于安装Memcached以便在WAMP上使用PHP。它可能会有所帮助。看起来扩展程序可能已作为计算机上的.dll
文件提供,您只需编辑php.ini
文件以包含扩展名,然后重新启动Apache。
答案 3 :(得分:1)
我遇到了同样的问题。
在我的情况下问题是我在64-bit
系统上运行但我下载了32-bit
memcache dll文件。
我下载Memcache 2.2.6 VC9 x64 Thread Safe