php

必须要编译x86版本

vc过新,php中无版本定义时
vc2012时
要加入 5.4.13/win32/build/confutils.js

.....
VC_VERSIONS[1700] = 'MSVC11 (Visual C++ 2012)';

.....
VC_VERSIONS_SHORT[1700] = 'VC11';

路径加入D:\Works\phpmake\win32build\bin要利用 bison.exe

zlib有错误 不要用win32build里面的 删除lib 和 include里面的 zlib.h 和zlib.lib
重新下载zlib编译(不要用 vce2010编译 有错误)

不是在Microsoft.Cpp.Win32.user中加入 路径,而是在"系统环境变量"中加入
INCLUDE: D:\CLib\zlib-1.2.7;D:\Works\phpmake\win32build\include
LIB: D:\CLib\zlib-1.2.7;D:\Works\phpmake\win32build\lib

vs2012有版本设置不能识别的错误 vs2008 vs2010都没有这个问题
/version:5.4.13这句 只能用类似的/version:5.413来表示
需要修改win32/build/config.w32
184行:
DEFINE("LDFLAGS", "/nologo /version:" +
    PHP_VERSION + "." + PHP_MINOR_VERSION + "." + PHP_RELEASE_VERSION);
改为:
DEFINE("LDFLAGS", "/nologo /version:" +
    PHP_VERSION + "." + PHP_MINOR_VERSION + PHP_RELEASE_VERSION);


命令
buildconf

自动用户
configure

自定义设置
configure --with-php-build=e:\win32build --enable-object-out-dir=e:\php --without-libxml --disable-zlib --disable-odbc

生成
nmake


但是vs2012(vc11)编译出来的php.exe不能兼容(vc9)或者(vc10)编译出来的,最后结论 必须用vc2008来编译才能跟官方版本混用
要配合windows sdk v7.1A 来编译 否则 mc错误
vc2008默认加载 v6.0A 可以修改
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows
下的键值(注意是下的键值 不是下属项里面的)CurrentInstallFolder的值来设置 当前系统默认sdk

你可能感兴趣的:(php)