实际上我最终目的是编译得到支持 PHP5.4 的 php_xdebug.dll,而在此之前,成功编译 PHP5.4 是必须的。
编译环境以及相关软件包:
1.Microsoft Visual C++ 2008 Express Edition with SP1
2.Windows SDK 6.1
3.PHP SDK Binary Tools
4.Dependable libs
5.PHP5.4 Sources
6.Xdebug 2.2.0-dev
如果你需要的是 VC6 的编译环境,那么你需要安装 Visual C++ 6.0,而 SDK 则需要换成:
Windows Server 2003 PSDK
编译过程:
准备好咖啡、可乐,做好准备,可能要折腾数小时…
安装 VC++ 2008 以及 Windows SDK 6.1
建立如下目录:
D:\php-sdk D:\php-sdk\php54dev D:\php-sdk\pecl
最终的目录结构大概是这样子的:
D:\php-sdk>tree D:\php-sdk Folder PATH listing for volume DISK_VOL2 Volume serial number is 0C74-AD73 D:\PHP-SDK ├───bin ├───php54dev │ ├───deps │ │ ├───bin │ │ ├───include │ │ ├───lib │ │ └───sybase │ ├───pecl │ │ └───xdebug │ └───php-5.4.0RC3 ├───script └───share
打开 Windows SDK CMD Shell,执行:setenv /x86 /xp /release,如果你是64位系统,那么这个命令是必须的,不要试图把参数改成 /x64,否则后续的 make 阶段,你会看到成千上万条 WARNING …
设定 PATH:set PATH=D:\php-sdk\bin;%PATH%
切换 SHELL 目录至 D:\php-sdk\php54dev\php-5.4.0RC3>,执行 buildconf 生成 configure 脚本:
D:\php-sdk\php54dev\php-5.4.0RC3>buildconf Rebuilding configure.js Now run 'configure --help' D:\php-sdk\php54dev\php-5.4.0RC3>
D:\php-sdk\php54dev\php-5.4.0RC3>configure --disable-snapshot-build --disable-debug-pack --disable-ipv6 --disable-zts --disable-isapi --disable-nsapi --without-t1lib --without-mssql --without-pdo-mssql --without-pi3web --without-enchant --enable-com-dotnet --with-mcrypt=static --disable-static-analyze --with-xdebug=shared
如果你要编译其它的 pecl 扩展(比如 apc,bcompiler 等),只需要相关的源码下载放到 pecl 目录,重新执行 buildconf 即可。
若 configure 无问题,最后执行 nmake 开始编译过程,Good Luck! :)
最后一步 nmake snap,组织所有编译好的文件的目录结构(也就是你平时下载的 PHP 二进制包的结构),并用 zip 打包。
最终生成的文件位置:D:\php-sdk\php54dev\php-5.4.0RC3\Release(_TS)
错误处理:
nmake 过程中会产生很多的 Warning,只要不中断,那么就无视好了。
关于 calendar.c 和 jewish.c 的编码问题:
ext\calendar\calendar.c : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss dow.c easter.c french.c gregor.c jewish.c ext\calendar\jewish.c : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss ext\calendar\jewish.c(324) : error C2001: newline in constant ext\calendar\jewish.c(325) : error C2001: newline in constant ext\calendar\jewish.c(326) : error C2001: newline in constant ext\calendar\jewish.c(327) : error C2001: newline in constant NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\cl.exe"' : return code '0x2' Stop.
本文向大家介绍Centos下升级php5.2到php5.4全记录(编译安装),包括了Centos下升级php5.2到php5.4全记录(编译安装)的使用技巧和注意事项,需要的朋友参考一下 升级 目前php最新版虽然是php5.5,但出于各种考虑,还是先升到php5.4比较靠谱。 原php使用的是php5.2.10,已经运行了4~5年了,是时候升级了。 5.4最新稳定版是5.4.21(14 Nov
本文向大家介绍Windows下编译PHP和memcache扩展教程,包括了Windows下编译PHP和memcache扩展教程的使用技巧和注意事项,需要的朋友参考一下 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大
Angel编译指南 编译环境依赖 Jdk >= 1.8 Maven >= 3.0.5 Python >=3.6 如果要运行PyAngel Protobuf >= 2.5.0 需与hadoop环境自带的protobuf版本保持一致。目前hadoop官方发布包使用的是2.5.0版本,所以推荐使用2.5.0版本,除非你自己使用更新的protobuf版本编译了hadoop 源码下载 git clone h
包内容 下载包中包含以下文件 ├── Uploader.swf // SWF文件,当使用Flash运行时需要引入。 ├── webuploader.js // 完全版本。 ├── webuploader.min.js // min版本 ├── webuploader.flashonly.js // 只有Flash实现的版
安装编译器或者 IDE(集成开发环境),也叫搭建开发环境。Windows 下的C语言 IDE 众多,多如牛毛,初学者往往不知道该如何选择,本节就来给大家指点迷津。 1) Visual Studio Windows 下首先推荐大家使用微软开发的 Visual Studio(简称 VS),它是 Windows 下的标准 IDE,实际开发中大家也都在使用。为了适应最新的 Windows 操作系统,微软每
本文向大家介绍Linux 环境下编译安装MySQL5.6的笔记记录,包括了Linux 环境下编译安装MySQL5.6的笔记记录的使用技巧和注意事项,需要的朋友参考一下 一、首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作。 二、环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为止mysql仍然是免费开源,可以