Windows编译PHP7.2拓展
转载请注明文章出处:https://tlanyan.me/windows-co...
准备工作
- https://github.com/Microsoft/...下载PHP-SDK(在右边的“clone or download”点击,选择下方的“download zip”);
- https://windows.php.net/downl...下载PHP7.2的源码,此时最新版本是7.2.8,选择“php-7.2.8-src.zip”下载;
- https://visualstudio.microsof...选择“visual studio community 2017”,安装过程中选择C++功能。
编译
- 新建编译目录,例如“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/downl...只能下载PHP7.1及以前的SDK工具,PHP7.2的工具需从github上下载;
- 如果已经之前安装过visual studio,执行"phpsdk-vc15-x64.bat"出现"could not determine 'vc15' directory"的错误提示,表示未安装VC工具,启动安装工具添加VC支持即可;
- 编译前可将不需要的拓展删除,加快编译速度;
- 如果自定义的拓展出现“cannot open include file 'win95nt.h'”,可使用这个头文件:https://github.com/nonylene/i...。
参考
原文地址:https://segmentfault.com/a/1190000016011547
Windows编译PHP7.2拓展的更多相关文章
- php beast windows编译教程
git clone https://github.com/Microsoft/php-sdk-binary-tools.git c:\php-sdk cd c:\php-sdk git checkou ...
- windows下编译php7图形库php_ui.dll
CSDN博客 具有图形化编程才有意思,这几天看到了php ui 图形扩展,只是现在只能下载php 7.1的 本次教程编译php7.2.6的 php ui 要是linux下编译起来比较简单 但是 win ...
- linux和windows下安装python拓展包及requirement.txt安装类库
python拓展包安装 直接安装拓展包默认路径: Unix(Linux)默认路径:/usr/local/lib/pythonX.Y/site-packagesWindows默认路径:C:\Python ...
- TODO:macOS编译PHP7.1
TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...
- OGRE 2.1 Windows 编译
版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...
- Windows编译ejabberd
Windows编译ejabberd(金庆的专栏)安装 erlang OTP. 添加路径到 PATH, 使 erl 可以运行.git clone ejabberd安装 rebar:git clone g ...
- 转:Windows下PHP7安装Redis和Redis扩展phpredis
原文地址:Windows下PHP7安装Redis和Redis扩展phpredis Windows下PHP7安装Redis和Redis扩展phpredis 2016-06-08 17:53:00 标签: ...
- vc14(vs2015) 编译php7 记录
windows 编译php 官方教程 https://wiki.php.net/internals/windows/stepbystepbuild 参考 http://blog.csdn.net/ ...
- windows下php7安装redis扩展
windows下php7安装redis扩展windows下开发用的wamp集成的环境,想装个php-redis扩展.php_redis.dll下载地址:https://pecl.php.net/pac ...
随机推荐
- zoj 1610 Count the Colors 【区间覆盖 求染色段】
Count the Colors Time Limit: 2 Seconds Memory Limit: 65536 KB Painting some colored segments on ...
- Android Application Digital Signatures - Android 数字签名
Android 数字签名 同一个开发人员的多个程序尽可能使用同一个数字证书,这能够带来下面优点. (1)有利于程序升级,当新版程序和旧版程序的数字证书同样时,Android系统才会觉得这两个程序是同一 ...
- HDU - 3631 Shortest Path(Floyd最短路)
Shortest Path Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u SubmitStat ...
- POJ 2367 Genealogical tree 拓扑题解
一条标准的拓扑题解. 我这里的做法就是: 保存单亲节点作为邻接表的邻接点,这样就非常方便能够查找到那些点是没有单亲的节点,那么就能够输出该节点了. 详细实现的方法有非常多种的,比方记录每一个节点的入度 ...
- 【bzoj1015】[JSOI2008]星球大战starwar
给定一个无向图,求联通块个数,以及k次每次摧毁一个点后的联通块个数 将边和摧毁的点全记录下来,反着做即可 注意被摧毁的点不能算作联通块 #include<algorithm> #inclu ...
- [BZOJ 3126] Photo
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=3126 [算法] 差分约束系统 注意SPFA判负环的条件应为 : 若所有点入队次数之和 ...
- bzoj2242 [SDOI2011]计算器——BSGS
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2242 第一次写BSGS,参考了好多好多博客: 然而看到的讲解和模板是一种写法,这道题的网上题 ...
- JSP-Runoob:JSP 生命周期
ylbtech-JSP-Runoob:JSP 生命周期 1.返回顶部 1. JSP 生命周期 理解JSP底层功能的关键就是去理解它们所遵守的生命周期. JSP生命周期就是从创建到销毁的整个过程,类似于 ...
- bzoj2752
线段树+概率 今天这道题爆零了,奥妙重重. 其实我们可以把式子化成这样:sigma((i-l+1)*(r-i+1)*ai) 这里r减了1 然后展开,(1-l)*(r+1)*ai+(r+l)*i*ai- ...
- 【转载】UML图示与代码对照
一.类继承 public class Father { } public class Child : Father { } 二.接口继承 public interface IBreath { } pu ...