从源代码构建

本章介绍如何使用 Microsoft 的工具在 Windows 上从源代码编译 PHP。要使用 cygwin 编译 PHP,请参阅 在 Unix 系统上安装

请参阅 Wiki 文档:» https://wiki.php.net/internals/windows/stepbystepbuild

添加笔记

用户贡献的笔记 3 个笔记

Bas van Beek
15 年前
如果尝试编译代码 (Windows XP,SDK v6.1) 并出现以下类型的错误

c:\phpdev\php-5.2.9\main\php_network.h(128) : warning C4005: 'POLLIN' : macro redefinition
c:\program files\microsoft sdks\windows\v6.1\include\winsock2.h(1495)
请参阅 'POLLIN' 的先前定义
c:\phpdev\php-5.2.9\main\php_network.h(129) : warning C4005: 'POLLPRI' : macro redefinition
c:\program files\microsoft sdks\windows\v6.1\include\winsock2.h(1496)
请参阅 'POLLPRI' 的先前定义
c:\phpdev\php-5.2.9\main\php_network.h(130) : warning C4005: 'POLLOUT' : macro redefinition
c:\program files\microsoft sdks\windows\v6.1\include\winsock2.h(1499)
请参阅 'POLLOUT' 的先前定义
c:\phpdev\php-5.2.9\main\php_network.h(131) : warning C4005: 'POLLERR' : macro redefinition
c:\program files\microsoft sdks\windows\v6.1\include\winsock2.h(1502)
请参阅 'POLLERR' 的先前定义
c:\phpdev\php-5.2.9\main\php_network.h(132) : warning C4005: 'POLLHUP' : macro redefinition
c:\program files\microsoft sdks\windows\v6.1\include\winsock2.h(1503)
请参阅 'POLLHUP' 的先前定义
c:\phpdev\php-5.2.9\main\php_network.h(133) : warning C4005: 'POLLNVAL' : macro redefinition
c:\program files\microsoft sdks\windows\v6.1\include\winsock2.h(1504)
请参阅 'POLLNVAL' 的先前定义
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\cl.exe"' : return code '0x2'
停止。

您可以修改 Makefile 并将以下开关添加到 CFLAGS

/D _WIN32_WINNT
匿名
17 年前
>> 使用 Visual Studio .NET 编译将创建依赖于 msvcp71.dll 的二进制文件

只有在使用错误的运行时库编译时才会出现这种情况。
php at tattodecastro dot com
16 年前
如果您收到以下错误消息
输入错误:没有用于文件扩展名“.js”的脚本引擎
在 Visual Studio 2005 命令提示符或类似的提示符中,尝试在命令行中添加“/e:jscript”。

例如
cscript /nologo /e:jscript win32/build/buildconf.js

这对我有用,希望对您也有用。
To Top