如何在windows系统上让php支持memcached呢?
第一步:安装 Memcached 服务
第二步:让php加载memcached.dll扩展
以下资料参考:
1、Installing Memcached for PHP 5.3 on Windows 7
2、Windows 下Memcache安装配置 + 没有成功加载memcached
详情步骤如下:
第一步:安装 Memcached 服务
1、下载 Memcached Win32 (点我下载)
2、解压下载的文件到自定义目录,例如(C:\webserver\memcached)
解压后该目录下仅有一个 memcached.exe 在该目录下
3、使用管理员权限运行命令行(cmd)
4、安装
复制代码 代码如下:
memcached -d install
提示:如果提示 MSVCP71.dll 不存在的错误,则访问这里(戳我)
5、启动
复制代码 代码如下:
memcached -d start
6、检查安装路径(可以不理会)
复制代码 代码如下:
wmic process get description, executablepath | findstr memcached.exe
显示:
memcached.exe C:\webserver\memcached\memcached.exe
到这里,memcached 服务安装完毕
第二步:让php加载memcached.dll扩展
1、下载VC9版本的memcached.dll
线程安全版
非线程安全版 fastcgi运行php的方式
2、解压缩得到 php_memcache.dll ,并拷贝到php的扩展目录 C:\webserver\php5.3nts\ext
3、编辑 php.ini ,在其底部加入
复制代码 代码如下:
[memcache]
extension=php_memcache.dll
;一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
;它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
;是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover = 0
;接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。
memcache.max_failover_attempts = 20
;数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
;如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size = 8192
;连接到memcached服务器时使用的默认TCP端口。
memcache.default_port = 11211
;控制将key映射到server的策略。默认值"standard"表示使用先前版本的老hash策略。
;设为"consistent"可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。
memcache.hash_strategy = "consistent"
;控制将key映射到server的散列函数。默认值"crc32"使用CRC32算法,而"fnv"则表示使用FNV-1a算法。
;FNV-1a比CRC32速度稍低,但是散列效果更好。
memcache.hash_function = "crc32"
;以下2个设置见上上面的[session]
;当值为memcache时标记使用memcache作为session处理器
;session.save_handler = "files"
;定义用于通话存储的各服务器链接的分隔符号,例如:“tcp://host1:11211, tcp://host2:11211”
;每服务器个链接可以包含被接受于该服务器的参数,比较类似使用 Memcache::addServer() 来添加的服务器
;例如:“tcp://host1:11211?persistent=1&weight=1&timeout=1& amp;retry_interval=15”
;session.save_path = ""
4、重启IIS(命令行中运行)
复制代码 代码如下:
iisreset /restart
至此,memcached配置完成