最近研究如何在win下编写PHP7的扩展,由于自己一个人学习研究,过程中踩了很多坑,希望记录一下过程中的坑,方便自己以后再次查看。
首先编写扩展前需要准备几样东西。
一.Visual Studio 2015(微软出的一款编译器)
下载网址:
https://docs.microsoft.com/zh-cn/visualstudio/releasenotes/vs2015-version-history
由于PHP7是用C语言编写的,所以必须要有C语言的编译器,(必须是2015年的我由于一开始下的2017版的结果搞了半天)这里下载一个社区版本就好。
提示:下载好之后的Visual Studio 2015默认是不带C语言编译的(也就是没有cl.exe),必须更新软件。
点击控制面板->程序和功能,
找到vs2015右键更改
点击modify修改
在VisualC++的那一栏点上复选框,之后update即可。
更新之后在开始菜单中打开开发者命令框(普通cmd没用),
输入cl,可以看到如下证明成功了。
二.Cygwin
没有这个无法使用ext_skel_win32.php生成自己的扩展文件夹。(文末有具体使用方法的地址)
下载网址:
这个下载安装都挺简单的,就不多赘述了。
这里我下的32位的。这里下载完成之后只要配置好环境变量就好。
三.下面就需要用到几个包了
1.php的sdk包
php-sdk-binary-tools-20110915.zip
2.php的源码包
php-7.0.27-src.zip
3. 以及一个VC14的包,因为解压出来的源码包中只有VC6,VC8,VC9三个。
php-7.0.27-nts-Win32-VC14-x86.zip
这些包在php官网或者网上都可以很轻易的下载到。
至于编译过程,网上有太多的教程了,这里分享几个比较实用的地址供参考。
http://blog.csdn.net/lwprain/article/details/50569120
http://blog.51cto.com/lancelot/1772931
http://blog.csdn.net/muyilongh/article/details/51062262
研究计算机编程是一件挺痛苦的事情,但是成功之后的那种喜悦只有自己清楚,突然想起前阵子听浙江大学翁恺老师的课时,老师提起的一句话,共勉。
学计算机一定要有一个非常强大的心里状态,计算机的所有东西都是人做出来的,别人能想出来的我也一定能想的出来,在计算机里,没有任何黑魔法,所有的东西只不过是我现在不知道而已,总有一天,我会把所有的细节,所有的内部的东西全都搞明白的。