在windows下编译PHP(5.4版本)
来源:互联网 发布:component 源码 编辑:程序博客网 时间:2024/06/07 14:21
参考文献:https://wiki.php.net/internals/windows/stepbystepbuild
环境要求:
1)VS 2008
2) VS 2008 SP1
3)Window SDK 6.1
编译步骤:
1)建立php-sdk目录作为编译目录
2)下载binary-tools(http://windows.php.net/downloads/php-sdk/)并解压到php-sdk目录中,解压后,php-sdk目录包含bin,script,share三个目录
3)下载Window SDK 6.1(http://www.microsoft.com/en-us/download/details.aspx?id=11310),安装过程比较久,主要要选择安装C的编译器
4)安装完成后,打开SDK的CDM shell,并设置环境变量“setenv /x86 /xp /release”,如下图所示(默认启动的是debug的环境,设置为release后字体就变成绿色了)
5)进入php-sdk目录,并执行以下命令
bin\phpsdk_setvars.batbin\phpsdk_buildtree.bat phpdev
7)接下来,讲PHP源码解压到php-sdk\phpdev\vc[x]\x[x]\<php-source-directory>目录
8)php源码目录还有一个同级目录dep,按照官方的说明,你需要将编译php所需要用到的library复制到改目录。官方打包了最常用的扩展在这个地址(http://windows.php.net/downloads/php-sdk/),按编译的PHP版本下载即可。
接下来,我们要开始编译过程了
9)进入PHP源代码的目录,执行buildconf,返回Now run 'configure --help'
10)执行configure --disable-calendar ,配置编译php
11)执行nmake,完成编译
12)执行“nmake snap”
编译完成
PS:编译遇到的错误
1)calendar扩展编译错误,禁止掉即可--disable-calendar
ext\calendar\jewish.c(325) : error C2001: newline in constantext\calendar\jewish.c(326) : error C2001: newline in constantext\calendar\jewish.c(327) : error C2001: newline in constantext\calendar\jewish.c(328) : error C2001: newline in constantNMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\cl.exe"' : return code '0x2'Stop.
2)连接错误,需要安装vs2008 SP1,下载地址(http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=13276)
fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version'20070207'LINK : fatal error LNK1257: code generation failedNMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\cl.exe"' : return code '0x2'Stop.
PS:推荐的PHP常用配置
configure --enable-apache2-4handler --enable-apache2-2handler --disable-cgi --disable-calendar --enable-pdo --with-pdo-sqlite=shared --enable-mbstring=shared --enable-mbregex
- 在windows下编译PHP(5.4版本)
- 在Windows下源码编译PHP
- 在windows下编译php扩展
- 在Windows下编译PHP和PHP扩展
- 编译PHP的windows版本
- 在windows下编译FFMPEG-最新2009版本
- 在windows下编译FFMPEG-最新2009版本
- 在Linux下编译Windows版本的adb和fastboot
- 在Linux下编译Windows版本的adb和fastboot
- 在windows下编译FFMPEG-最新2009版本
- 在windows下编译FFMPEG-最新2009版本
- 在windows下编译FFMPEG-最新2009版本
- 在Linux下编译Windows版本的adb和fastboot
- 在Linux下编译Windows版本的adb和fastboot
- 在Linux下编译Windows版本的adb和fastboot
- 在Linux下编译Windows版本的adb和fastboot
- 在Windows下编译多种VS版本的Skia
- 在Windows下编译多源码文件版本SQLite
- 设计模式学习之构建者模式
- MFC工具栏添加ComboBox控件
- 例析Linux系统调用的机制
- [备忘]linux 模拟鼠标动作 工具
- p51 T7差为偶/前趋字符/后继字符
- 在windows下编译PHP(5.4版本)
- 2015-3-27 今天写下json吧
- linux后台运行和关闭、查看后台任务
- Appium - iOS8.0 Notification Allow 弹出框解决办法
- 《C++编程》第二章第7题
- 黑马程序员——JAVA 面向对象总结(二)
- BigDecimal 加减乘除
- P51 第8题
- 将 Windows IPC 应用程序移植到 Linux,第 2 部分: 信号量和事件