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