windows下编译php,Windows下编译php5.2.17的编译

先下载2个必要的包

把这2个包的内容放一起

例如PHP源码我解压缩到D:\php-5.2.12

这2个压缩包我都解压缩到D:\win32build

命令行进入PHP目录,先执行"C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"

设置VC6环境变量,然后执行buildconf.bat

提示:

Rebuilding configure.js

Now run 'cscript /nologo configure.js --help'

接下来要临时设置一下环境变量,不然会提示找不到bison.exe:

Checking for bison.exe ...

ERROR: bison is required

命令行输入:set path=%path%;D:\win32build\bin

执行:cscript /nologo configure.js --with-php-build="../win32build" --without-libxml --disable-odbc

出现这段就可以继续了:

Creating build dirs...

Generating files...

Generating Makefile

Generating main/internal_functions.c

Generating main/config.w32.h

Done.

Type 'nmake' to build PHP

输入nmake

没有加--without-libxml的话会报错:

.\ext\dom/php_dom.h(33) : fatal error C1083: Cannot open include file: 'libxml/p

arser.h': No such file or directory

NMAKE : fatal error U1077: '"cl.exe"' : return code '0x2'

Stop.

不加--disable-odbc会报如下错误:

ext\odbc\php_odbc_includes.h(237) : error C2061: syntax error : identifier 'SQLL

EN'

........

ext\odbc\php_odbc.c(789) : error C2065: 'len' : undeclared identifier

ext\odbc\php_odbc.c(789) : fatal error C1003: error count exceeds 100; stopping

compilation

NMAKE : fatal error U1077: '"cl.exe"' : return code '0x2'

Stop.

缺少lib会报连接错误:

php5ts.dll.def : error LNK2001: unresolved external symbol _libiconv_version

php5ts.dll.def : error LNK2001: unresolved external symbol compressBound

php5ts.dll.def : error LNK2001: unresolved external symbol deflateBound

php5ts.dll.def : error LNK2001: unresolved external symbol deflatePrime

php5ts.dll.def : error LNK2001: unresolved external symbol gzclearerr

php5ts.dll.def : error LNK2001: unresolved external symbol gzungetc

php5ts.dll.def : error LNK2001: unresolved external symbol inflateBack

php5ts.dll.def : error LNK2001: unresolved external symbol inflateBackEnd

php5ts.dll.def : error LNK2001: unresolved external symbol inflateBackInit_

php5ts.dll.def : error LNK2001: unresolved external symbol inflateCopy

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv_close

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv_open

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv_set_relocati

其中这5条是libiconv的:

php5ts.dll.def : error LNK2001: unresolved external symbol _libiconv_version

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv_close

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv_open

php5ts.dll.def : error LNK2001: unresolved external symbol libiconv_set_relocati

on_prefix

不出意外,到这里PHP就编译完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值