编写Windows下的php5.4和Xdebug全记录
编译环境及相关软件包:
1。微软Visual C++ 2008 Express版SP1
2 Windows SDK 6.1
3.php SDK二进制工具
4、可靠的LIBS
5 php5.4来源。
6。Xdebug 2.2.0-dev
如果你需要VC6编译环境,你需要安装Visual C++ 6,而SDK需要改变:
Windows Server 2003 psdk
编译过程:
准备喝咖啡,可乐,也许还有几个小时。
安装vc++ 2008和Windows SDK 6.1
建立了下列目录:
复制代码代码如下所示:
d
D: php54dev PHP SDK
D: PECL PHP SDK
解压所有文件在php-sdk-binary-tools-20110915.zip D: PHP SDK
从deps-5.4-vc9-x86.7z D提取该目录: php54dev PHP SDK
php5.4解压源代码D: php54dev PHP SDK,目录名称,如php-5.4.0rc3
Xdebug的源代码放在D: PHP SDK Xdebug PECL
最后的目录结构可能是相同的。
复制代码代码如下所示:
d
体积disk_vol2文件夹路径列表
卷序列号是0c74-ad73
D: php-sdk
只是,仓
只是,php54dev
我们有依赖
我们实施公正
我们实施公正-包括
我们执行公正-自由
我们开展——Sybase
我们有PECL
我们开展Xdebug
——php-5.4.0rc3
只是剧本
--分享
打开Windows SDK的cmd shell,执行:setenv / / / XP x86版本,如果你是一个64位系统,那么这个命令是必要的,不要试图改变参数/ x64,否则你将看到成千上万的警告在随后的阶段。
设置路径:设置路径=
壳目录切换到D: php54dev PHP SDK php-5.4.0rc3 >,并执行buildconf生成配置脚本:
复制代码代码如下所示:
D: php54dev PHP SDK php-5.4.0rc3 > buildconf
重建configure.js
现在run'configure --帮助
D: php54dev PHP SDK php-5.4.0rc3 >
执行配置生成脚本来查看配置以获得更多的编译选项:
复制代码代码如下所示:
D: php54dev PHP SDK php-5.4.0rc3 >配置禁用快照版本--禁用调试包disable-ipv6 --禁用禁用禁用NSAPI ISAPI特稿——————————没有不without-t1lib MSSQL MSSQL,without-pi3web PDO --没有附魔,使COM .net——mcrypt =静态--禁用静态分析——Xdebug =共享
在这里我使用禁用快照快照模式建立了,因为这个命令将迫使我打开很多无用的选项,如AOLserver,Apache,SAPI之类的,最后我又加了Xdebug =共享,使用前最好确认Xdebug源位置是正确的,如果没有什么问题,buildconf。在配置帮助中,您可以看到这个选项,它被编译成动态链接库。
如果你想编译其他的PECL扩展(如APC、bcompiler,等等),你只需要下载相关的源代码到PECL的目录,然后重新执行buildconf。
如果配置没有问题,然后执行已开始编制过程,好运!)
最后一步是NMAKE卡,组织所有的编译文件,目录结构,PHP的二进制软件包通常你下载的结构,和包的拉链。
最后的文件位置:D: PHP SDK php54dev php-5.4.0rc3释放(_ts)
错误处理:
在调用过程中,会产生大量的警告,只要它不中断将被忽略。
关于C和C语言的编码问题:
复制代码代码如下所示:
EXT 日历日历。C:警告c4819:该文件包含一个不能,不能,c4819字符:936。
道琼斯指数C。
复活节。C
法国C。
Grer C。
犹太人。C
EXT 日历犹太人。C:警告c4819:该文件包含一个不能,不能,c4819字符:936。
EXT 日历犹太人。C(324):错误C2001:换行等
EXT 日历犹太人。C(325):错误C2001:换行等
EXT 日历犹太人。C(326):错误C2001:换行等
EXT 日历犹太人。C(327):错误C2001:换行等
NMAKE:致命错误u1077:'C: Program Files(x86)微软Visual Studio 9 是VC仓。
停止。
这两个文件中使用的ANSI编码,包括在西方语言的一些特殊字符,和GBK字符集不存在。
打开Editplus,代码选择:西欧(Windows),和UTF-8。