php_memcahed 安装

Posted 二年后的今天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php_memcahed 安装相关的知识,希望对你有一定的参考价值。

1、下载服务端memcached软件

32bit:下载 memcached-win32-1.4.4-14.zip(直接下)里面包含6个文件,将解压后的文件夹随便放在什么位置(例如:D:\\wamp_win7\\bin\\memcached-win32-1.4.4-14,我本地使用wamp搭建的服务器)。
memcached-win32-1.4.4-14.zip下载页面:http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available
Memcached-1.4.4-14 For Win32 or Win64 安装

64bit:如果需要win64版,下载 memcached-win64-1.4.4-14.zip(直接下),里面有个三个文件,用这三个文件覆盖win32下同名文件。
memcached-win64-1.4.4-14.zip下载页面:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available
Memcached-1.4.4-14 For Win32 or Win64 安装


2、以管理员身份运行 cmd.exe,并转至memcached所在文件夹,比如:

cd D:\\wamp_win7\\bin\\memcached-win32-1.4.4-14

注意:如果不以管理员身份运行,将得到报错“failed to install service or service already installed”

3、安装memcached:  

d:\\wamp_win7\\bin\\memcached-win32-1.4.4-14> memcached.exe -d install

(之后屏幕无任何提示,可以再[控制面板]->[管理工具]->[服务]中查看到memcached)
Memcached-1.4.4-14 For Win32 or Win64 安装
4、启动memcached:
(1)启动方法1:
d:\\wamp_win7\\bin\\memcached-win32-1.4.4-14> memcached.exe -d start
之后屏幕无任何提示,但是在“任务管理器”中勾选“显示所有用户进程”,此时可以看到memcached.exe进程正在运行
默认端口11211,外部访问需要开放该端口,否则无法成功连接。
(2)启动方法2:
[控制面板]->[管理工具]->[服务] 找到 memcached 服务,双击它打开如下图
Memcached-1.4.4-14 For Win32 or Win64 安装
启动类型:选择【自动】
服务状态:点击下面的【启动】
备注:可执行文件的路径和我上面所说的路径有些区别可以忽略


5、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 显示帮助

设置参数时需要先停止memcached,然后用命令行设置,比如:

D:\\wamp_win7\\bin\\memcached-win32-1.4.4-14> memcached.exe -m 1 -d start

 

6、停止memcached:

D:\\wamp_win7\\bin\\memcached-win32-1.4.4-14> memcached.exe -d stop


7、卸载memcached:

D:\\wamp_win7\\bin\\memcached-win32-1.4.4-14> memcached.exe -d uninstall

 

相关问题:
1、设置最大占用内存后好像没起作用。
-m tells memcached how much RAM to use for item storage (in megabytes). Note carefully that this isn\'t a global memory limit, so memcached will use a few % more memory than you tell it to. Set this to safe values. Setting it to less than 48 megabytes does not work properly in 1.4.x and earlier. It will still use the memory.

转自:http://stackoverflow.com/questions/6112324/memcached-using-more-than-max-memory
参考:https://code.google.com/p/memcached/wiki/NewConfiguringServer

2、在同一个程序集里将一个值放入到memcache里,马上去时可以取到,但是在另一个程序集里取的时候取不到,或者telnet也拿不到值。
可能问题及解决办法:
a. 存储的值序列化后不同类型,则需要将其更新为同一类型,建议使用同一的常见类型,如string,int等,放入string可以拼成一个xml字符串,然后到使用的时候在做解析
b. 很有可能是memcache池已经满了,可以设置<socketPool minPoolSize="100" maxPoolSize="1000" connectionTimeout="00:10:00" deadTimeout="00:02:00"/>


参考1:win7 安装 memcached
http://www.cnblogs.com/jiajinyi/p/3531381.html

 



二、php启用memcache扩展,使得php能够操作memcache

1、下载php memcache.dll 扩展

官网下载地址:http://pecl.php.net/package/memcache/3.0.8/windows
注意选对版本,因为我本地使用的是wamp搭建的环境,线程安全版本、PHP为5.3x,所以我下载的是5.3 Thread Safe (TS) x86(TS为线程安全[Thread Safety]的意思),如何查看是线程安全还是非线程安全呢?以及如何查看时PHP版本呢?
Memcached-1.4.4-14 For Win32 or Win64 安装


相关问题:

1、如何查看是线程安全还是非线程安全呢?
例如:在跟目录下新建一个php文件,ox.php ,然后再里面输入

<?php phpinfo();

保存,并在浏览器访问该文件,如下图(即通过php的内置函数phpinfo()查看php的环境信息)
Memcached-1.4.4-14 For Win32 or Win64 安装

可见:PHP的版本为5.3.13,线程安全为开启即是线程安全版本。

2、解压缩下载的文件(php_memcache-3.0.8-5.3-ts-vc9-x86.zip),如下


Memcached-1.4.4-14 For Win32 or Win64 安装

把 php_memcache.dll 扩展文件拷贝到 php 的扩展目录中,例如(E:\\wamp_win7\\bin\\php\\php5.3.13\\ext)

 

3、修改php.ini文件,加载memcache.dll扩展

打开php.ini(例如:E:\\wamp_win7\\bin\\apache\\apache2.2.22\\bin\\php.ini 因为我使用的是wamp搭建的,所以php.ini的文件是在这里,其他的一般是在php的目录下)
找到一堆设置扩展的地方或是最底部,添加

extension=php_memcache.dll

Memcached-1.4.4-14 For Win32 or Win64 安装

保存,然后重启apache或是nginx或是iis,即可通过phpinfo() 函数执行后的页面看到memcache已经加载了
Memcached-1.4.4-14 For Win32 or Win64 安装
终于搞定!

以上是关于php_memcahed 安装的主要内容,如果未能解决你的问题,请参考以下文章

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

PHP代码-psysh调试代码片段工具

VIM 代码片段插件 ultisnips 使用教程

Android 插件化VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )(代码片段

nodejs常用代码片段

vim代码片段插件ultisnips的使用