php
博客专区 > Rechy 的博客 > 博客详情
php
Rechy 发表于4年前
php
  • 发表于 4年前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】新注册用户域名抢购1元起>>>   

摘要: php在vc下编译

必须要编译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

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 2
博文 30
码字总数 5766
×
Rechy
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: