注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

永恒的遗失古都-亚特兰蒂斯

一个游戏开发者的个人博客。

 
 
 

日志

 
 

编译PHP扩展【例如Blizt】  

2017-07-28 16:21:51|  分类: 程序相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

工具依赖:
编译PHP7.0,7.1依赖:Visual C++ 14(2015版) 使用中
编译PHP7.2依赖:Visual C++ 15(2017版) 未测试
编译工具依赖:Bison

环境变量依赖:
// Bison依赖
C:\Bison\GnuWin32\bin;
// VS库和头依赖
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin;
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE;
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include;
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib;
// 编译PHP插件 PHPIZE相关的依赖
C:\PHP\php-sdk\bin;
C:\PHP\php-sdk\bin\phpdev\vc14\x64;
// Windows SDK依赖
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt;
C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64;

准备工作:

1:下载SDK工具:https://github.com/OSTC/php-sdk-binary-tools
2:解压后改名为 php-sdk ,注意不要层级太深,不要名称太长,不要有中文路径,之后Bison会出BUG。(例如我解压在 C:\PHPCompile\php-sdk 下)
3:编译PHP7.0或7.1,使用 VS2015 x64 Native Tools Command Prompt(VS2015 x64本地命令行工具) 或 VS2015 x86 Native Tools Command Prompt(VS2015 x86本地命令行工具) 均可。
4:下载PHP源代码 http://windows.php.net/download/ 我这里下载的是VC14 x64 Thread safe
5:下载PHP依赖库集合,http://windows.php.net/downloads/php-sdk/ 我这里下载的是 deps-master-vc14-x64.7z 你也可以去https://wiki.php.net/internals/windows/libs 逐个下载40来个依赖包..这里也可以https://github.com/winlibs/
6:使用VS命令行工具,执行命令 cd C:\PHPCompile\php-sdk
7:使用VS命令行工具,执行命令 phpsdk-vc14-x64.bat
8:使用VS命令行工具,执行命令 cd bin
9:使用VS命令行工具,执行命令 phpsdk_buildtree.bat phpdev ,此时会创建子目录列表C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64,内部有deps文件夹
10:解压刚才的PHP源代码并且拷贝到该目录,如下:C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src
11:解压刚才的deps-vc**-x*.7z文件,并拷贝deps到C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\deps(可覆盖或删除原本的deps文件夹)

至此,准备工作完成

开始编译PHP

1:使用VS命令行工具,执行命令 cd php-7.1.7-src
2:使用VS命令行工具,执行命令 buildconf
3:可以执行命令 configure --help 查看帮助
4:使用VS命令行工具,执行命令 configure --disable-all --enable-cli
5:使用VS命令行工具,执行命令 nmake

如果需要重编译,请

1:使用VS命令行工具,执行命令 cd C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src
2:使用VS命令行工具,执行命令 nmake clean
3:使用VS命令行工具,执行命令 buildconf --force
4:使用VS命令行工具,执行命令 configure --disable-all --enable-cli
5:使用VS命令行工具,执行命令 nmake

然后我们得到了PHP相关库在 C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src\x64\Release_TS 下。

至此,PHP编译完毕

开始编译Blizt

1:首先下载Blizt源码 https://github.com/alexeyrybak/blitz/releases ,解压到C:\PHPCompile\blitz-0.10.3.2-PHP7
2:启动VS2015.创建项目,文件->新建->从现有代码创建项目,VisualC++项目
3:设置项目文件位置 C:\PHPCompile\blitz-0.10.3.2-PHP7, 项目名称 Blitz
4:添加宏 PHP_WIN32;ZEND_WIN32;ZEND_DEBUG=0;ZTS
5:附加包含目录 C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src\TSRM;C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src;C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src\main;C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src\Zend
6:附加库目录 C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src\x64\Release_TS
7:附加依赖项 php7ts.lib

编译即可。

编译自定义PHP扩展方法

1:拷贝扩展源代码到phpdev的ext文件夹中,例如 C:\PHPCompile\php-sdk\bin\phpdev\vc14\x64\php-7.1.7-src\x64\Release_TS\ext\blitz

2:重新使用VS命令行工具,执行命令 buildconf --force  (重新创建configure.bat 和 configure.js)

3:重新使用VS命令行工具,执行命令 configure.bat --disable-all --enable-cli --enable-blitz=shared

4:重新使用VS命令行工具,执行命令 nmake php_blitz.dll

  评论这张
 
阅读(11)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017