源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Windows下编译PHP5.4和xdebug全记录

  • 时间:2021-02-28 15:16 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Windows下编译PHP5.4和xdebug全记录
实际上我最终目的是编译得到支持 PHP5.4 的 php_xdebug.dll,而在此之前,成功编译 PHP5.4 是必须的。 [b]编译环境以及相关软件包: [/b]1.[url=http://www.microsoft.com/visualstudio/en-us/products/2008-editions/express]Microsoft Visual C++ 2008 Express Edition with SP1[/url] 2.[url=http://www.microsoft.com/download/en/details.aspx?id=11310#Overview]Windows SDK 6.1[/url] 3.[url=http://windows.php.net/downloads/php-sdk]PHP SDK Binary Tools[/url] 4.[url=http://windows.php.net/downloads/php-sdk]Dependable libs[/url] 5.[url=http://qa.php.net/]PHP5.4 Sources[/url] 6.[url=https://github.com/derickr/xdebug]Xdebug 2.2.0-dev[/url] 如果你需要的是 VC6 的编译环境,那么你需要安装 Visual C++ 6.0,而 SDK 则需要换成: [url=http://www.microsoft.com/download/en/details.aspx?id=22668]Windows Server 2003 PSDK[/url] [b]编译过程:[/b] 准备好咖啡、可乐,做好准备,可能要折腾数小时… 安装 VC++ 2008 以及 Windows SDK 6.1 建立如下目录:
[u]复制代码[/u] 代码如下:
D:\php-sdk D:\php-sdk\php54dev D:\php-sdk\pecl
解压 php-sdk-binary-tools-20110915.zip 中的所有文件至 D:\php-sdk 提取 deps-5.4-vc9-x86.7z 中的 deps 目录至 D:\php-sdk\php54dev 解压 php5.4 源码至 D:\php-sdk\php54dev,目录名任取,比如 php-5.4.0RC3 xdebug 的源码放到 D:\php-sdk\pecl\xdebug 最终的目录结构大概是这样子的:
[u]复制代码[/u] 代码如下:
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 脚本:
[u]复制代码[/u] 代码如下:
D:\php-sdk\php54dev\php-5.4.0RC3>buildconf Rebuilding configure.js Now run 'configure --help' D:\php-sdk\php54dev\php-5.4.0RC3>
执行 configure 生成 Make 脚本,可以查看 configure –help 以获取更多编译选项:
[u]复制代码[/u] 代码如下:
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
这里我使用了 –disable-snapshot-build 关掉了 snapshot 模式,因为这个命令会强制开启许多对我来说无用的选项,比如 aolserver,apache sapi 之类的,最后我加上了 –with-xdebug=shared,在使用这个选项之前最好确认 xdebug 源码的位置正确,如果没什么问题的话,buildconf 之后,在 configure –help 中你可以看到这个选项,shared 表示编译成动态链接库。 如果你要编译其它的 pecl 扩展(比如 apc,bcompiler 等),只需要相关的源码下载放到 pecl 目录,重新执行 buildconf 即可。 若 configure 无问题,最后执行 nmake 开始编译过程,Good Luck! :) 最后一步 nmake snap,组织所有编译好的文件的目录结构(也就是你平时下载的 PHP 二进制包的结构),并用 zip 打包。 最终生成的文件位置:D:\php-sdk\php54dev\php-5.4.0RC3\Release(_TS) [b]错误处理: [/b]nmake 过程中会产生很多的 Warning,只要不中断,那么就无视好了。 关于 calendar.c 和 jewish.c 的编码问题:
[u]复制代码[/u] 代码如下:
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.
这两个文件使用的是 ANSI 编码,包含有一些西文的特殊字符,GBK 字符集中不存在。 可用 editplus 打开,编码选择:West European (Windows),另存为 UTF-8。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部