php windows 编译,Windows编译PHP7.2拓展

本文详细介绍了如何从PHP7.2源码开始,通过Microsoft的PHP SDK工具,配置并编译出包含所需拓展的线程安全版本的PHP。步骤包括下载SDK、编译环境设置、依赖安装、配置选项和最终产物检查。
摘要由CSDN通过智能技术生成

准备工作https://github.com/Microsoft/php-sdk-binary-tools下载PHP-SDK(在右边的“clone or download”点击,选择下方的“download zip”);

https://windows.php.net/downloads/releases/下载PHP7.2的源码,此时最新版本是7.2.8,选择“php-7.2.8-src.zip”下载;

编译新建编译目录,例如“D:\PHP2Compile”;

将”php-sdk-binary-tools-master.zip”中的文件解压到编译目录下;

按住shift在编译目录内点击右键,选择“open powershell window here”;

执行”phpsdk-vc15-x64.bat”,成功后提示符从“>”变成”$”;

执行”phpsdk_buildtree phpdev”,成功后目录中会多一个“phpdev”目录,命令行的目录自动切换到”phpdev/vc15/x64″;

在”phpdev/vc15/x64″目录下新建php-src文件夹,将PHP源码复制到此目录;

切换到php-src目录(cd php-src),执行”phpsdk_deps -u”;

在“phpdev/vc15/x64”下建立pecl目录(与PHP源码目录同级),将拓展复制到该目录下;

在PHP源码目录内执行”buildconf”;

执行“configure –一些选项”命令配置编译选项,例如”configure –disable-all –enable-cli –enable-cgi –enable-zlib –enable-hash –enable-session –without-gd –with-bz2 –enable-yourext”;

执行nmake命令编译PHP及拓展。

编译成功后,在源码的X64目录下会生成“Release”或”Release_TS”目录,编译好的php.exe及生成的拓展dll均在此目录下。dll的文件名为php_xxxx.dll,例如”php_tlanyan.dll”。

TS和NTS

默认编译出来的拓展是TS(线程安全)的版本(位于Release_TS目录中),如果要编译非线程安全版本,configure时加入”–disable-zts”选项。

编译成功后,线程安全版本信息为(php.exe -v输出):PHP 7.2.8 (cli) (built: Aug 14 2018 10:53:41) ( ZTS MSVC15 (Visual C++ 2017) x64 )

Copyright (c) 1997-2018 The PHP Group

Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

非线程安全版本输出:PHP 7.2.8 (cli) (built: Aug 14 2018 11:47:40) ( NTS MSVC15 (Visual C++ 2017) x64 ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

注意事项原PHP-SDK下载地址https://windows.php.net/downloads/php-sdk/只能下载PHP7.1及以前的SDK工具,PHP7.2的工具需从github上下载;

如果已经之前安装过visual studio,执行”phpsdk-vc15-x64.bat”出现”could not determine ‘vc15’ directory”的错误提示,表示未安装VC工具,启动安装工具添加VC支持即可;

编译前可将不需要的拓展删除,加快编译速度;

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值