Windows下Memcache安装
随着时间的推移,网上现在能找到的在 Windows下安装 Memcache 的文档大多已经过时。雪峰这里再简要介绍一下当下最新版的安装和配置方法。
Memcached 在其官网是不断更新的,可惜只有源码,没有 windows 编译版。
找到当下最新的 Windows 编译版,在
http://code.jellycan.com/memcached/
找到 win32 binary: memcached-1.2.6-win32-bin.zip 直接下载即可。(当然这里也介绍了在 Windows 下编译地具体方法,有兴趣的可以自己试试。)安装和其它版本没有区别:
解压到一个目录下,如 C:\memcached,
在命令行状态下输入: C:\memcached\memcached.exe -d install 。至此memcached已经安装成windows服务,可以用 memcached.exe -d start 启动memcached服务,也可以在 windows 服务中启动。
配置 PHP
PHP 的官网也没有提供 Windows 版的 memcached 扩展,还好有
http://downloads.php.net/pierre/
在此页搜 memcache 会找到如下几条文件
php_memcache-2.2.6-5.3-nts-vc9-x86.zip (2010-10-03 13:46 -0700)
MD5 (php_memcache-2.2.6-5.3-nts-vc9-x86.zip) = de463ea7271c357f2e317128a5370bfb
php_memcache-2.2.6-5.3-vc9-x86.zip (2010-10-03 13:45 -0700)
MD5 (php_memcache-2.2.6-5.3-vc9-x86.zip) = 2021ceb248dabae438796c9ccfa1c2e3
根据自己的 PHP 环境选择相应的版,请查看 phpinfo() 返回的 PHP 信息,找到 PHP Extension Build 一项,我这里的值是 "API20090626,TS,VC9",我选择 php_memcache-2.2.6-5.3-vc9-x86.zip 。
下载解压后,放到 PHP 的扩展的目录下,如我这里就是 PHP 安装目录下的 ext 文件夹,然后在 php.ini 里增加一项
extension=php_memcache.dll
重启 HTTP 服务,如 Apache ,再回来看 phpinfo() 里多了 memcache 一段,就表示扩展已经安装成功。如果在重启 HTTP 服务时报错,通常是 PHP 扩展选择的版本不对,换用其它版本再试一下即可。
最后用 PHP 手册里的范例代码测试一下,功能正常就安装完成了。
Windows下的Memcache安装与配置
1.
很多phper不知道如何在Windows下搭建Memcache的开发调试环境,最近个人也在研究Memcache,记录下自己安装搭建的过程。
其实我开始研究Memcache的时候并不知道居然还有memcached for Win32这个鸟东西,害得我在CnetOS下折腾1天才搞定,今天突然发现Windows下的Memcache进行开发调试完全没有问题,所以写篇Memcache的文档分享给大家。
Windows下的Memcache安装:
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 'c:\memcached\memcached.exe -d install' 安装
3. 再输入: 'c:\memcached\memcached.exe -d start' 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
4.下载php_memcache.dll,请自己查找对应的php版本的文件
5. 在C:\winnt\php.ini 加入一行 'extension=php_memcache.dll'
6.重新启动Apache,然后查看一下phpinfo,如果有memcache,那么就说明安装成功!
memcached的基本设置:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
Memcache环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。开始领略Memcache的魅力把!
< ?php
$mem = new Memcache;
$mem->connect("127.0.0.1″, 11211);
$mem->set('key', 'This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
2.
Windows下Mencached双开
Submitted by eglic on 2009, April 24, 7:35 PM
从Linux下移植公司的项目到Windows平台进行开发调试,需要用到两个MemCached
Linux下的脚本是这样的
#For session
/usr/local/bin/memcached -l 127.0.0.1 -p 11212 -m 128 -C 256 -d
/usr/local/bin/memcached -l 127.0.0.1 -p 11211 -m 512 -C 256 -d
Win32版的memcached是系统服务,要双开就必须安装两个服务了
改文件名的方法没用,只好暴力地改注册表了,步骤如下
1、在CMD里运行 C:\Memcached\Memcached.exe -d install
2、打开注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
把目录名字(memcached Server)改成"Memcached Session Service"。
键DisplayName的值也改成 "Memcached Session Service"。
键ImagePath 的值改成 "C:\memcached\memcached.exe" -p 11211 -m 8 -d runservice
3、重启电脑
4、再次在CMD里面运行 C:\Memcached\Memcached.exe -d install
5、打开注册表编辑器,再次定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
把目录名字(memcached Server)改成"Memcached Data Service"。
键DisplayName的值也改成 "Memcached Data Service"。
键ImagePath 的值改成 "C:\memcached\memcached.exe"-p 11212 -m 64 -d runservice
6、在管理工具->服务,按F5刷新一下,应该能看到两个 Memcached开头的服务,启动之。
7、如果第6步没搞定,重启一下,搞定收工