最近的项目要用到memcache,所以要在本地安装,安装过程中很遇到一些问题,在这里记录下。
我使用的是wamp集成环境,各个版本如下:
WampServer Version 2.2
Apache Version 2.2.21
PHP Version 5.3.10
MySQL Version 5.5.20
安装步骤如下:
1.安装memcached服务
首先下载一个 memcached for windows(这个可以在网上找找,很多),将其解压到一个目录c:\memcached。
以管理员身份启动cmd.exe(win7和win8下因为权限问题,必须以管理员身份启动,否则memcached服务会提示安装失败),进入c:\memcached目录下。安装命令如下:
C:\UsersAdministrator>cd C:\memcached
C:\memcached>memcached.exe -d install
C:\memcached>memcached.exe -d start
这样,memcached服务就安装成windows服务,且会随机启动,假如不想随机启动,可以在“管理》服务”中修改(上面几步应该都会明白吧)。
2.下载php_memcached.dll
这个php_memcached.dll并不是php环境自带的。这个需要大家自己到互联网上自己下载。
需要注意的是php_memcached.dll必须和自己机器上php版本相对应。如果不对应,就会出现memcached加载不成功的情况。dll文件下载成功以后,将php_memcache.dll放在 php的ext目录下。
一般问题就会出在这,很多人找不到php对应的dll库,这里给出下载地址http://downloads.php.net/pierre/。
需要注意的是,你可能会看到以下这几种,以php5.3版,win32为例:
php_memcache-2.2.6-5.3-nts-vc9-x86.zip
php_memcache-2.2.6-5.3-vc9-x86.zip
php_memcache-5.3-Win32-vc6-x86-20090408.zip
php_memcache-5.3-nts-Win32-vc6-x86-20090408.zip
他们的区别在于:
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。
Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
可以通过phpinfo来查看php信息,确定选择vc6还是vc9,ts还是nts。
3、为php配memcached扩展
打开F:\wamp\bin\apache\apache2.4.9\bin\php.ini添加一行 ****** (打 * 号 为容易出错的地方)
extension=php_memcache.dll
如果你php.ini已经有这个扩展那就不需要咱添加了。如果extension=php_memcache.dll签名有个“;”则需要把这个“;”去掉
所有上面三步都做完之后, 重启apache(这里最好是先退出再启动,直接重启有的时候也会加载不上memcache,不知道什么原因)。
重启好apache 以后看看phpinfo的输出结果。
如果有memcached 这项输出,说明memcached扩展已经添加成功。memcached环境配好了。
配置成功,打开localhost,如下图所示:
可以看到PHP扩展中已经加载了memcache,点击phpinfo(),如下图
也可以看到memcache扩展加载进来了。
下面给出个例子,看看memcache到底是否安装正确,而且能使用。
<?php $memcache = new Memcache; $memcache->connect(‘127.0.0.1‘, 11211); $memcache->set(‘mem_key‘, ‘Hello Memcache!‘, 0, 180); $val = $memcache->get(‘mem_key‘); echo $val; ?>
将上面代码保存为test.php,放在localhost根目录下,运行,能看到输出即为成功。
PS:1.原创内容,转载请附上本文链接:http://www.cnblogs.com/phpCHAIN/p/3778865.html
2.操作过程中出现其它问题的请@世人皆醒我独醉