通过PHP5.6源代码在WINDOWS 7下进行编译生成(最详细步骤)
admin
2023-06-22 01:00:02
0

经过几天的弯路,终于正常编译出PHP5.6,做个记录方便后面翻阅。

一、原料准备

1、在PHP的windows官网进行下载:http://windows.php.net/download。这里我选择的是php5.6.25。

2、下载VC++ compilers。目前官网不同PHP版本需要不同的VC++版本编译器:,详情查看https://wiki.php.net/internals/windows/compiler。

官网上PHP5.5,5.6可以使用Express版本:Visual Studio 2012 Express for Windows Desktop


                                                下面是php官网编译支持的VC版本

Product Name5.2.x5.3.x5.4.x5.5.x5.6.x7.0.x64bits (***)
Visual C++ 6 (SP6 only)YesYesNoNoNoNoNo
Visual C++ 7/7.1 (2002, 2003, 2003+sp1)Yes (**)Yes (**)NoNoNoNoNo
Visual C++ 8 (2005)Yes (**)NoNoNoNoNoNo
Visual C++ 9 (2008 SP1 only)Yes (**)YesYesYes (**)NoNoNo
Visual C++ 11 (2012)NoNoYes (**)YesYesYes (**)Yes
Visual C++ 14 (2015)NoNoNoNoNoYesYes 


3、需要下载PHP的SDK包及deps包


在网址:http://windows.php.net/downloads/php-sdk/可以查看到最新支持的包

目前我使用的32位,因此使用x86.


deps:http://windows.php.net/downloads/php-sdk/deps-5.6-vc11-x86.7z


sdk(有最新则选择最新):http://windows.php.net/downloads/php-sdk/php-sdk-binary-tools-20110915.zip


二、安装步骤

1、先将visual stdio安装好。

2、将sdk,deps,src三个包放到指定目录,如D:/php_compiler

3、先将sdk包解压,生成三个目录,分别为bin,script,share

4、从开始菜单Mircrosoft Visual Stdio 2012/Visual Studio 2012找到VS 2012 X86本机命令提示,进入到提示符

5、通过命令提示符,回到D:/php_compiler.

6、运行bin\phpsdk_setvars.bat,该bat文件为了将当前目录(D:/php_compiler/bin)添加到默认路径(系统path),目的使该bin目录下的命令可以在命令提示符中使用。

7、运行bin\phpsdk_buildtree.bat php_dev,生成php_dev目录,可以展开看到该命令预先生成一些必须的目录结构。如vc6,vc8,vc9。但是没有vc11,我们直接复制vc9成为vc11,或者直接改名为vc11

8、将php-5.6-src.zip包放到vc11/x86/,并解压出来,然后将deps.zip解压后与vc11/x86/deps进行合并。

9、通过刚才的命令提示符,进入到vc11/x86/php-5.6-src目录

10、通过buildconfig 及configure.bat —disable-all —enable-cli(参数配置通过configure.bat —help查看,根据自己需要来)生成Makefile文件。

11、运行nmake,生成了PHP.EXE

12、进行打包,nmake snap.生成php-5.6-devel-vc11.zip。

13、done


三、遇到的坑

1、总是提示系统找不到指定路径出现fatal error U1077:”if”:返回代码“0x01"

解决:通过administrator用户进行编译

2、nmake找不到

解决:将Microsoft visual stdio 11.0\vc\bin及Microsoft visual\commond7\IDE\这两个目录添加到系统变量(path)中 


相关内容

热门资讯

商务部:对日相关出口管制措施完... 在今天召开的商务部例行新闻发布会上,新闻发言人介绍,近期,中方将20家日本的相关实体列入管控名单,将...
广州“番禺大桥轿车追尾浇花车致... 澎湃新闻记者 吕新文广州市番禺区应急管理局5月27日公布《番禺区“12·17”一般道路交通事故调查报...
南方多地持续开展防汛救援 连日来,南方多地遭遇持续暴雨,当地迅速响应,全力开展预警监测,加快防汛排涝、应急救援等工作。重庆永川...
国防部回应菲方涉南海言论:无惧... 5月28日下午,国防部举行例行记者会,国防部新闻发言人蒋斌大校答记者问。记者:据报道,菲律宾武装部队...
整车多个零件被拆?知名游戏联名... “本来是去打卡联名单车的,结果一看,车上的联名物料被扒了个干干净净。”联名单车上的物料近日,滴滴青桔...
郑州一市民应聘货车司机,被诱导... “承诺月薪1万多,结果没挣钱,反而背上了贷款,这车买得太冤了!”5月24日,郑州市民徐先生反映,他去...
聚焦新型毒品等热点问题 最高检... 最高人民检察院今天(28日)发布10件未成年人权益保护和犯罪预防治理典型案例。这批案例聚焦新型毒品、...
荷兰军用直升机在南海遭中国军队... 5月28日下午,国防部举行例行记者会。国防部新闻发言人蒋斌大校就“荷兰直升机侵闯中国西沙群岛领空”等...
一日售罄,首批商业不动产REI... 【大河财立方 记者 孙凯杰】5月25日、27日,首批4只商业不动产公募REITs相继面向公众投资者发...
五位民营企业家亮相国新办,两位... 【大河财立方 记者 程帅星 王宁宁 北京报道】 5月28日,国务院新闻办公室举行“新征程上的奋斗者”...