转载请注明文章出处:https://tlanyan.me/windows-co...准备https://github.com/Microsoft/...下载PHP-SDK(点击右侧的“克隆或下载”,选择下方的“下载zip”);https://windows.php.net/downl...下载PHP7.2源码,最新版本为7.2.8,选择下载“php-7.2.8-src.zip”;https://visualstudio.microsof...选择“visualstudiocommunity2017”,安装过程中选择C++函数。编译并新建编译目录,如“D:PHP2Compile”;将“php-sdk-binary-tools-master.zip”中的文件解压到编译目录;在编译目录下按住shift右击,选择“在此处打开powershell窗口”;执行“phpsdk-vc15-x64.bat”,成功后提示由“>”变为“$”;执行“phpsdk_buildtreephpdev”,成功后目录下会多出一个“phpdev”目录,命令行目录自动切换到“phpdev/vc15/x64”;在“phpdev/vc15/x64”目录下新建php-src文件夹,将PHP源码复制到该目录下;切换到php-src目录(cdphp-src),执行“phpsdk_deps-u”;在“phpdev/vc15/x64”下创建pecl目录(与PHP源码目录同级),复制扩展名到该目录;在PHP源代码目录中执行“buildconf”;执行“configure--Someoptions”命令配置编译选项,如“configure--disable-all--enable-cli--enable-cgi--enable-zlib--enable-hash--enable-session--没有-gd--with-bz2--enable-yourext";执行nmake命令来编译PHP和扩展。编译成功后,会在源代码的X64目录下生成一个“Release”或“Release_TS”目录。编译好的php.exe和生成的扩展dll都在这个目录下。dll的文件名为php_xxxx.dll,例如“php_tlanyan.dll”。TS和NTS默认编译的扩展是TS(thread-safe)版本(位于Release_TS目录)。如果要编译非线程安全的版本,请在配置中添加“--disable-zts”选项。编译成功后线程安全版本信息为(php.exe-v输出):PHP7.2.8(cli)(built:Aug14201810:53:41)(ZTSMSVC15(VisualC++2017)x64)Copyright(c)1997-2018ThePHPGroupZendEnginev3.2.0,Copyright(c)1998-2018ZendTechnologies非线程安全版本输出:PHP7.2.8(cli)(built:Aug14201811:47:40)(NTSMSVC15(VisualC++2017)x64)Copyright(c)1997-2018ThePHPGroupZendEnginev3.2.0,Copyright(c)1998-2018ZendTechnologiesNotes原始PHP-SDK下载地址https://windows.php。net/downl...只能下载PHP7.1及之前的SDK工具,PHP7.2的工具需要到github下载;如果之前安装过visualstudio,执行“phpsdk-vc15-x64.bat”,出现“couldnotdetermine'错误信息“vc15'directory”说明没有安装VC工具,启动安装工具添加VC支持即可;可以在编译前删除不需要的扩展名以加快编译速度;如果自定义扩展名出现“无法打开包含文件'win95nt.h'”,可以使用这个头文件:https://github.com/nonylene/i....参考https://wiki.php.net/internal...http://blog.51cto.com/lancelo...
