无法在Windows 10 + vs2015 + x64中进一步编译到php.exe

时间:2016-03-22 11:03:47

标签: php windows build compilation php-7

我在windows for php 7.0.4中创建自定义构建。在https://wiki.php.net/internals/windows/stepbystepbuild中跟踪过程直到nmake snap时,一切都很好。当我在构建配置之后进行nmake时它给了我一些错误并退出了错误1077.所以根据VS文档https://msdn.microsoft.com/en-us/library/dt309377.aspx我使用/我忽略错误并进一步构建。

问题是 - > I am getting a x86 build instead of x64 build。第二,rather than a clear build I am getting a manifest and development source.我无法将其进一步编译为.exe。我用来构建的命令很简单,并且是configure --disable-all --enable-cli --enable-cgi --with-pgo --enable-snapshot-build。它只是php.exe,php-cgi.exe的简单构建,启用了pgo。

enter image description here

我做错了什么?欢迎任何帮助。

更新

我发现--with-pgo或在配置行中添加任何其他扩展是错误1077的罪魁祸首。这可能是由于deps文件夹中缺少依赖关系吗?但我还是无法解释为什么X86 dist会进入X64文件夹。我有时会收到错误,说内置的构建配置与X64文件夹规范不匹配。通过启用额外的扩展,不确定是否发生了无法复制除1077之外的问题。

2 个答案:

答案 0 :(得分:1)

您可能想看一下这个https://github.com/johmue/win-php-sdk-builder github项目。

答案 1 :(得分:0)

通过从配置脚本中删除--with-pgo来解决问题是致命错误1077。它的构建过程(在PHP7中进行优化)的步骤与正常编译的文档中的步骤不同

X86构建而不是X64的问题是由于vc开发人员命令提示符中cl.exe的环境架构造成的。它被设置为x86。我通过提供命令vcvarsall X64和configure命令来更改它,nmake命令用于创建X64的构建。

特别感谢Windows PHP团队,尤其是Pierre,以确定它。