前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows下适用于PHP 7.1的memcache扩展工具编译

Windows下适用于PHP 7.1的memcache扩展工具编译

作者头像
用户7657330
发布2020-08-14 10:56:06
8110
发布2020-08-14 10:56:06
举报
文章被收录于专栏:程序生涯

项目里需要PHP支持memcache扩展,首先来介绍一下memcache是啥吧

介绍 memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。

memcache经常和memcached混淆,其实memcache只是一个扩展工具,使得PHP可以连接到memcached服务器,高速缓存服务由memcached服务器来提供,在Windows下,要使用memcached高速缓存,必须同时安装PHP下的memcache扩展和memcached服务器。

php_memcache.dll编译和安装 添加Windows下PHP的memcache扩展,首先应该了解到的一点是:

Windows下PHP的扩展工具都是*.dll文件,存储在PHP安装目录下的ext文件夹中,想要开启扩展,必须在ext文件夹中有相应的dll文件,并且在php.ini文件里面加入相应的配置,格式举例如下: extension=php_memcache.dll

由于php_memcache.dll的官方编译出来的版本支持到PHP 5.6就断了,幸运的是,虽然放出的已编译版本停了,但是源码还在更新,并且支持了7.1,所以,之前配置了PHP 7.1.4的博主我就只好操起不熟练的VS 2015命令行进行编译适合自己的php_memcache.dll了。

编译前的下载

想要编译最新的php_memcache.dll,必不可少的当然是它的源码啦,下载地址如下: https://github.com/websupport-sk/pecl-memcache

还需要编译环境,博主之前装的VS 2015这时候就起作用了,没有装VS 2015的朋友可以去官网下一个,反正community版本不需要付费,常用功能一个也没少,下载地址如下:

ed2k://|file|cn_visual_studio_community_2015_with_update_3_x86_x64_dvd_8923246.iso|7633565696|605D19028916D09E1BFA2DABBD266FE9|/ 1 编译环境有了,还需要有PHP的sdk,不然还是编译不了,下载地址如下: http://windows.php.net/downloads/php-sdk/ 下载图中所示的两个文件

最后一个需要下载的是你所使用的PHP的源码,下载地址如下: http://windows.php.net/downloads/releases/ 在这里找到你当前版本对应的src文件,例如我所需要的是php-7.1.4-src.zip

编译前的目录准备

1、创建一个用于编译的目录,例如 E:\PHPCompile

2、解压php-sdk-binary-tools-20110915.zip里面的文件到PHPCompile目录下;

3、编辑 E:\PHPCompile\bin\phpsdk_buildtree.bat,在 GOTO EXIT 前增加代码:

MD %_%\vc14\x86\deps\bin MD %_%\vc14\x86\deps\lib MD %_%\vc14\x86\deps\include MD %_%\vc14\x64\deps\bin MD %_%\vc14\x64\deps\lib MD %_%\vc14\x64\deps\include 注:这是因为phpsdk_buildtree.bat比较旧(毕竟2011年的古董),还不支持VC14,因此需要添加代码让其支持 VC14

4、在开始菜单找到并打开 VS2015 x64 本机工具命令提示符(注:如果要编译32位的,则需进入VS2015 x86 本机工具命令提示符),用cd 命令进入 E:\PHPCompile,执行如下两条命令:

bin\phpsdk_setvars.bat bin\phpsdk_buildtree.bat phpdev 5、执行后,目录下会生成phpdev文件夹;

6、 进入D:\PHPCompile\phpdev\vc14\x64\,把deps-7.1-vc14-x64.7z解压到该目录下,覆盖deps文件夹

7、 把php源代码也解压到x64目录下,将解压后的目录名改为PHP7

8、在x64目录下创建pecl文件夹,在该文件夹下再建立memcache文件夹,将下载的memcache代码解压到这个目录下,再在x64目录下创建obj文件,用来存放编译后的文件

编译

在刚才的 VS2015 x64 本机工具命令提示符执行以下命令,用于创建php编译配置:

cd phpdev\vc14\x64\php7 buildconf configure --help >..\configure_help.txt configure --disable-all --enable-cli --enable-zlib --enable-hash --enable-session --without-gd --with-bz2 --enable-memcache=shared --enable-object-out-dir=..\obj 如果提示bison.exe不存在,执行如下命令,再重新执行上面的命令:

set path=%path%;E:\PHPCompile\bin 1 如果不出意外,此时就可以使用如下命令来进行编译工作了:

nmake 1 这里经常会出问题,具体问题需要大家根据错误原因自行百度解决方法,当问题都解决了之后,就可以在E:\PHPCompile\phpdev\vc14\x64\obj\Release_TS\下找到php_memcache.dll了。

安装

复制php_memcache.dll到PHP\ext下,然后在php.ini里面找到一堆extension,在后面添加如下配置:

extension=php_memcache.dll 1 之后可以重启Apache服务器,然后访问http://localhost/phpinfo.php,如果里面已经有memcache扩展信息的话就安装成功了,如果没有信息,那就检查一下是位置没放对或者php.ini没有编辑好还是其他原因。

memcached服务器的安装 下载 下载地址:http://pan.baidu.com/s/1gdKbp8R

安装

1、解压下载后的文件,把它放到一个目录中,如D:\memcached。

2、打开cmd,进入memcached解压后存放的目录,运行命令:

memcached.exe -d install

如果没有意外的话已经安装成功了。 3、测试是否安装成功:输入memcached –h

如果出现如下图所示即为安装成功(版本号可能不同)

4、启动memcached:在 memcached 的目录下输入 memcached.exe -d start

测试

此时在任务管理器中应该可以看到memcached.exe这个进程在运行 在服务中,应该可以看到多了个memcached服务,并且已经启用 打开cmd,运行命令: telnet 127.0.0.1 11211 即可连接memcached。输入Version和Status可以查看版本号和状态

至此,php的memcache扩展工具以及memcached高速缓存服务器已经安装完成,项目可以正常运行了

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/02/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档