Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。

有时候我们的系统需要用到这个,而不是简单数据缓存File,这时候就要自己安装了,用了一天才安装好各种问题啊,

系统:WIN7

软件:TP3.2+PHPSTUDY

开始安装:

我安装的是1.45版本Mencached ,

下载地址

下载完成后解压到C盘根目录你也可以自己指定目录

1.4.5之后版本的memcached不能作为Windows服务来运行,必须使用Windows计划任务来运行它。

要将memcached配置成当Windows启动时自动运行。

在命令行运行下面的命令

schtasks /create /sc onstart /tn memcached /tr "'c:\memcached\memcached.exe' -m 512"

注意:你需要使用真实的路径替代 c:\memcached\memcached.exe。

注意:-m 512 意思是设置 memcached 最大的缓存配置为512M。

注意:我们可以通过使用 "c:\memcached\memcached.exe -h" 命令查看更多的参数配置。


显示安装成功
通过下面的命令将memcached从Windows计划任务中移除:

schtasks /delete /tn memcached


在PHP中开启扩展
查看你本地的PHP扩展包目录里是否有memcache.dll这个文件,如果没有,从https://pecl.php.net/package/memcache下载(选择windows dll文件),然后复制到PHP扩展包目录里。
我用的PHPSTUDY在线5.4.45-nts中有memcache.dll这个扩展,然后去php.ini中搜索memcache.dll文件,把前面的;删除
这是后就好了。

注意:

今天在windows下安装memcached时遇到两大坑,都是在扩展安装上,记录下来以防以后忘记,也提醒下其他人。

首先说memcache 和 memcached

memcached 可以说是 memcache的一个升级版,但它们有两个不同的安装包和两个不同的PHP扩展。在linux下为memcache.so 和 memcached.so


坑1:在windows下,却只有memcache.dll这一种扩展,memcached.dll是不存在的,


所以在windows下只能使用new Memcache(); ,却不能使用new Memcached();

坑2:在windows下安装扩展时要主要选对版本号
memcache.dll 有四种版本

5.x Non Thread Safe (NTS) x86
5.x Thread Safe (TS) x86

5.x Non Thread Safe (NTS) x64

5.x Thread Safe (TS) x64

5.x 表示php版本,

Thread Safe (TS) 表示线程安全  

Non Thread Safe (NTS) 表示非线程安全

x86 表示32位机器

x64 表示64位机器

这些都可以在phpinfo中找到,其中TS和NTS在phpinfo中

PHP Extension Build 这一项 可以找到,必须选择与你php相对应的版本,否则就会报错。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐