你成功了,他妒嫉你;你失败了,他笑话你 [登录·注册]

吕滔博客

首页 开发 运维 工具 摄影

windows7_64位系统下编译php7.1的redis扩展dll笔记

工具 memory发布于December 12, 2016 标签: Windows, PHP

先将windows7升级到win7sp1,否则会有好多软件不能用的.

系统必备的组件

Visual Studio 2015(社区版就可以,我安装在d:\vs2015)
vc2015
vcruntime140.dll (不知道,反正我在后面编译的时候提示缺这货,装了vc2015也不管用)
修复电脑上的directx 否则会有好多奇怪的错误提示 比如(应用程序无法正常启动0xc000007b)

PHP组件

下载php7.1源码 http://windows.php.net/downloads/releases/
php-7.1.0-src.zip
下载编译的sdk文件及工具包 http://windows.php.net/downloads/php-sdk/
php-sdk-binary-tools-20110915.zip
deps-7.1-vc14-x64.7z
下载最新的redis扩展包 https://github.com/phpredis/phpredis

配置环境

打开cmd窗口,进入d:\vs2015\VC\bin\
执行vcvars32.bat

环境目录在c盘php-sdk目录
将php-sdk-binary-tools-20110915.zip解压到c:\php-sdk

编辑c:\php-sdk\php-sdk-binary-tools\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

2.png

打开开始菜单--VS2015--x64本机工具命令提示符

cd c:\php-sdk
php-sdk-binary-tools\bin\phpsdk_setvars.bat
php-sdk-binary-tools\bin\phpsdk_buildtree.bat phpdev

然后脚本将会在c:\php-sdk目录下创建一个目录phpdev
将PHP源码包以及SDK的deps包,分别解压后放到c:\php-sdk\phpdev\vc14\x64下。

其他版本同理。放置后目录结构应该类似
"c:\php-sdk\phpdev\vc14\x64\deps\bin"和"c:\php-sdk\phpdev\vc14\x64\php_src\buildconf"
将redis的扩展包源代码解压后放到"c:\php-sdk\phpdev\vc14\x64\php_src\ext"目录下。可以看到该目录有其他一些自带的扩展包源码。并修改文件夹名为redis

编译。在命令行中输入命令:

set path=%path%;c:\php-sdk\php-sdk-binary-tools\bin

不设置这个path就会出现下面的这种情况
2.0.png

cd c:\php-sdk\phpdev\vc14\x64\php_src
buildconf
configure --disable-all --enable-cli --enable-hash --enable-session --enable-redis=shared --enable-redis-session --enable-redis-igbinary
nmake php-redis.dll

2.1.png

编译完成后在c:\php-sdk\phpdev\vc14\x64\php_src\ReleaseXX下找到你的php_redis.dll,放入你的php的ext目录下,修改php.ini加载即可...

extension=php_redis.dll

3.png
最后经过折腾,成功了,可是加载的运行的时候找不到redis,查看启动日志,提示这不是有效的32位程序,算了,不折腾了

相关推荐

添加新评论

全部评论:已有 5 条评论

kavid

kavid2017-01-05 23:05:40 回复

楼主能把dll分享出来吗??正好我用的php 7.1

php官方的7.0是似乎不能运行的

kavid

kavid2017-01-09 19:16:46 回复

楼主发到我的邮箱呗 kavid@sina.com

memory

memory2017-01-10 10:29:54

实在是抱歉,我昨天找了一下我WIN电脑上的编译,发现当时编译完测试不成功之后 ,我就删除了环境,然后用了一个一键安装包。。。。

memory

memory2017-01-06 23:45:51 回复

在单位WINPC上,周一吧,我努力记着想死这事儿,到时候打包了发上来!

codes

codes2016-12-28 08:35:31 回复

把 .dll 发出来让我试试啊

网站状态

  • 栏目分类:35个
  • 发布文章:1097篇
  • 用户评论:603条

最新回复

  • memory: 谢谢,已修正。
  • jrotty: 方法一中next后面少个'符号
  • daxia: mark
  • 企业孵化器: 厉害了
  • Bearox: 我也遇到了同样的问题,yum install dev86* 没用...
  • themebetter: 优化方法很不错。
  • 架构之路: 总结和nice,网站速度很快。
  • 架构之路: 总结的很好,简单、完整、高效。
  • memory: 我正在犹豫要不要更新了~~~ 因为1.2撇弃了php5.2,最低...
  • 灵九哲: medoo已经更新到v1.2了,博主更新下中文版网站内容
  • 灵九哲: medoo已经更新了v1.2,麻烦博主更新下中文版的网站,然后把...
  • memory: 用的typecho.
  • einsan: 涛哥,你的博客后端是自己开发的吗?还是使用哪一款开源产品?
  • yfly962464: 不行啊
  • memory: 哥们儿~非常不好意思,之前有段时间折腾jpress,后来就没有玩...
  • 夏日草博客: 记得很早的时候来过这个博客。
  • test1247: 好的,感谢。邮箱 121217605@qq.com
  • memory: 好的, 我回头找找呀。因为现在这个程序是php的,jpress的...
  • test1247: 这个jpress的主题能分享下吗
  • ryan: 瓦咔咔。。。。。。