解决Windows上编译PHP7.1拓展的错误

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了解决Windows上编译PHP7.1拓展的错误脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
转载请注明文章出处:https://tlanyan.me/solve-buil...

接上篇Windows编译PHP7.2拓展,以为编译PHP7.1的拓展应该水到渠成,马到成功。哪知道编译PHP7.1拓展出现了新问题,折腾更超7.2

第一个问题是vc15Visual studio 2017)不能编译PHP7.1的拓展,所以需要安装VC14(visual studio 2015)或其编译工具。从巨硬官网下载2015要登录,还要订阅“Visual Studio Dev Essentials”计划。看着安装程序显示需要占用9个G的硬盘空间,50G的c盘同样感到菊紧。

安装好VC14,开始按照流程编译PHP拓展,新的问题出现了:"NMAKE : fatal error U1077: '"' : return code '0x1'"。向上回溯编译信息,具体错误点是:

"" -h win32 -r D:PHP2Compilephp-sdk-binary-toolsphpdevvc14x64php-7.1
.8-srcx64Release_TS -x D:PHP2Compilephp-sdk-binary-toolsphpdevvc14x64php-7
.1.8-srcx64Release_TS win32buildwSysLOG.mc
'-h' is not recognized as an internal or external command,
operable PRogram or batch file.

根据-h win32字符串,在Makefile中找到具体命令,由于"MC"变化初始化为空,所以只剩命令参数无具体指令名。那么MC的值应该是什么呢?Makefile其值则为:"$(MC)",打开php7.2的Makefile,发现值是:"C:Program Files (x86)Windows KITs10bin10.0.17134.0x64mc.exe"。参考PHP7.2的方案将其值改成:"C:Program Files (x86)Windows Kits8.1binx86mc.exe"。

继续编译,MT变量初始化错误导致类似问题。按照MC的处理方式将值改成:"C:Program Files (x86)Windows Kits8.1binx86mt.exe"。

接下来编译出现"NMAKE : fatal error U1077: “rc”: return code“0x1” Stop."。MC提示错误时上网查原因看到过,没想到我这里多灾多难,多爬出了几个坑才到别人的坑里。想着这样没完没了的处理一个个变量不是办法,肯定是哪里的配置出了点问题。联系MC和MT变量,都是因为没有找到具体exe文件导致。RC会不会也是这个问题呢?

在“C:Program Files (x86)Windows Kits8.1binx86”下找rc.exe,果然发现这个程序。所以很有可能是因为PATH变量未设置正确导致的。右键“我的电脑”->“属性”->“环境变量”,将“C:Program Files (x86)Windows Kits8.1binx86”的值加入用户PATH变量,注销重新登录。再次编译PHP7.1的程序和拓展,一气呵成,完美!

总结

除了需要安装visual studio 2015,剩下的问题都是同一个:VC14编译工具未在PATH变量中,更新环境变量即可。

脚本宝典总结

以上是脚本宝典为你收集整理的解决Windows上编译PHP7.1拓展的错误全部内容,希望文章能够帮你解决解决Windows上编译PHP7.1拓展的错误所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。