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 ...
随机推荐
- mySql学习笔记:比sql server书写要简单
在学mySql.总的感觉,mySql与Sql Server差不多,语法都很象,但mySql也许是吸取了SQL SERVER的一些经验,SQL语句书写起来更加简单. 比如说,设置主键.索引,SQL SE ...
- NoSQL 世界交换数据的事实标准
https://www.elastic.co/guide/cn/elasticsearch/guide/current/data-in-data-out.html An object is a lan ...
- git分支的合并和冲突解决【转】
本文转载自:http://blog.csdn.net/Kingson_Wu/article/details/39227611 http://gitbook.liuhui998.com/3_3.html ...
- JavaScript Patterns 2.5 (Not) Augmenting Build-in Prototypes
Disadvantage Other developers using your code will probably expect the built-in JavaScript methods t ...
- bzoj3771
http://www.lydsy.com/JudgeOnline/problem.php?id=3771 生成函数... 其实就是多项式乘法...lrj书上有一个通俗的解释... 然后就是这个样子,我 ...
- 05、ListActivity的使用
第一个好处:处理共同的操作,避免代码重复 假设我要写第二个界面我也是需要使用到mapView,那你都要去查找一个mapView.都要获取一个Map的一个地图. 第二个好处:代码规范(方便阅读,真实开发 ...
- linux修改yum源
在自己安装的CentOS6.5中使用yum安装软件,总是提示404错误信息,百度后发现原来要设置yum源. 在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度.国 ...
- VB.NET学习体会
注:本文写于2018年01月28日,首先发表于CSDN博客"aopstudio的博客"上 下学期要学习VB.NET程序设计课程,这几天在家开始自习.在自习的过程中发现VB.NET和 ...
- SpringMvc快速入门之使用篇
文章是为了结合工作需求来介绍springmvc,本文章只是切合实际的开发的场景对springmvc进行快速的入门介绍. 本篇文章不会对原理进行讲解.因为个人觉得有些对于新技术方面可以分为一下几个层次. ...
- SpringBoot 热部署 + IDEA
1.使用Spring-Boot-Devtools实现热加载(这种方式会自动重启) devtools的原理: 深层原理是使用了两个ClassLoader,一个Classloader加载那些不会改变的类( ...