php mb扩展 windows7,php7.4自定义扩展的编写Windows篇

php7.4自定义扩展的编写Windows篇

php7.4自定义扩展的编写Windows篇

其实我们很少会用到windows下的扩展,不过作为开发人员,在window下开发比较方便,所以我们一般的做法是架设一个phpstudy_pro的环境,然后开发好以后再上传,这里就涉及扩展问题,不急,我们先做准备工作

一、工具包的准备

php7.4和之前的版本不一样,我们必须下载全新的工具包

1、php-sdk-binary-tools

这个从7.2以后就不能使用以前官网的了,我们到GIT下个最新的,下载地址:

https://github.com/Microsoft/php-sdk-binary-tools

作为程序员你不可能连git账号都没有吧,登录以后下载并解压备用

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第1张图片

2、准备php源码包,这里要选择正确的版本哟,登录php.net下载

https://windows.php.net/download#php-7.4

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第2张图片

下载完了以后解压缩备用

二、编译环境的准备

这可是个麻烦事,php7.4用的是VC15也就是你要安装vs2017

Visual C++ 15.0 (Visual Studio 2017) for PHP 7.2+

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第3张图片

安装 Visual Studio(IDE)

到官网下载 Visual Studio Install,现在官网基本是2019了,2017估计你要找一下,一般都放在百度网盘,如果实在没有可以问我要,我就不专门分享了

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第4张图片

安装的时候如果出错,把你之前的.net版本全部从低到高安装一次一般就解决了

三、开始调试环境

把php-sdk-binary-tools解压到D:\php7.4.10下

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第5张图片

我们启动cmd,并进入这个目录

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第6张图片

运行图中的文件,注意,这里运行哪个bat批处理文件是看你的系统的,不过现在一般都是64位了,32位请改成X86

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第7张图片

运行后会发生变化,一直到出现$符号,然后运行 phpsdk_buildtree 批处理脚本,该脚本将创建所需的目录结构

phpsdk_buildtree phpdev

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第8张图片

程序会自动创建phpdev目录,以及根据你的系统和VC版本初始化并进入,我们可以看一下

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第9张图片

这个时候我们创建一个phpsrc的目录,并把我们开始下载的源码文件放进去,这个目录是和deps平级的

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第10张图片

四、扩展编写

1、创建扩展目录

cd phpsrc\ext

创建扩展框架

php ext_skel.php --ext lzpay

这些操作和在linux下其实是一样的

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第11张图片

这个时候我们可以看一下,在ext目录已经有了新的扩展框架

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第12张图片

2、编写扩展

关于扩展的编写我就不多讲了,不懂的可以参考我的另一篇文章

https://blog.csdn.net/weixin_48803304/article/details/108637733

如果你有过类似的操作,直接COPY过来也行

五、扩展编译

扩展写好了,接下来就是编译了,退回到phpsrc目录,执行 buildconf

buildconf

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第13张图片

按系统提示,运行configure --help查看

configure --help

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第14张图片

我们关键是看有没有我们的扩展支持

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第15张图片

找到了,说明是成功的,那接下来就是把扩展编译为.dll文件,这里有个坑要注意,一般人都不知道,那就是我们使用configure进行编译时,系统默认php是ts模式的,但我们一般使用的是nts,还好有提供这样的参数,那就是–disable-zts,我们可以看一下,就在刚才的configure --help里

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第16张图片

这就好办了,接着开工,开始编译配置

configure --disable-all --enable-cli --enable-lzpay=shared --disable-zts

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第17张图片

成功以后会有提示,我们可以看到正是我们想要的,No Thread Safety,下面按他的提示,执行nmake编译,这里可能需要几分钟时间。

编译成功后,会在phpsrc目录下生成个X64目录

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第18张图片

进入目录,可以看到文件全部生成了

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第19张图片

将php_lzpay.dll复制到你的php目录下的ext目录,并在php.ini里加上,就重启动后就可以正常运行了。

php mb扩展 windows7,php7.4自定义扩展的编写Windows篇_第20张图片

php7.4自定义扩展的编写Windows篇相关教程

asp.net系统过滤器、自定义过滤器

你可能感兴趣的:(php,mb扩展,windows7)