这里以win7系统用vs2008编译5.3.18为例
来源:互联网 发布:天下3萝莉捏脸数据 编辑:程序博客网 时间:2024/06/05 17:13
这里以win7系统用vs2008编译5.3.18为例
准备文件
1、Microsoft Visual Studio 2008,VS2008SP1补丁和Microsoft Windows SDK v6.1
如果使用其它版本,可以到这里找https://wiki.php.net/internals/windows/compiler
2、deps-5.3-vc9-x86.7z和php-sdk-binary-tools-20110915.zip这两个包可以从http://windows.php.net/downloads/php-sdk/ 获得
3、php源码 从http://windows.php.net/downloads/releases/ 下载
4、cygwin 从http://www.cygwin.com/下载
操作步骤
1、安装Windows sdk 6.1(可以选择不安装文档和示例)
2、安装Visual Studio 2008(c++支持是必须的,不清楚的最好也安装,或者用推荐安装方式)
3、运行SPInstaller.exe安装VS2008SP1补丁,注意和步骤1,2的安装顺序不能错。
4、创建目录c:\php-sdk
5、把php-sdk-binary-tools-20110915.zip里的文件解压到c:\php-sdk里,当前目录里应该有bin,script,share三个目录
6、开始菜单打开windows sdk 6.1 shell根据php版本执行如下命令
如果是PHP 5.2, 5.3 and 5.4:
setenv /x86 /xp /release
setenv /x86 /2008 /release
cd c:\php-sdk\bin\phpsdk_setvars.batbin\phpsdk_buildtree.bat php53dev
cd C:\php-sdk\php53dev\vc9\x86\php-5.3.18-srcbuildconf
configure --disable-all --enable-cli
可以通过help命令查看支持的选项,如
configure --help
11、编译生成二进制文件,在Release_TS目录
nmake
12、打包成二进制包的结构 ,并用 zip 打包,在Release_TS/php-5.3.18-Win32-VC9-x86.zip
nmake snap
13、测试是否可以正常执行
cd Release_TSphp.exe -m
14、编译一个完整的php二进制包
把C:\php-sdk\php53dev\vc9\x86\deps\include\libpng目录中的文件拷贝到C:\php-sdk\php53dev\vc9\x86\deps\include\中,不然会编译不到gd库
configure --enable-snapshot-buildnmakenmake snap
添加pecl扩展
在C:\php-sdk\php53dev\vc9\x86目录下创建pecl目录,里面放扩展目录,以dbase为例,则是C:\php-sdk\php53dev\vc9\x86\pecl\dbase
cd C:\php-sdk\php53dev\vc9\x86\php-5.3.18-srcbuildconfconfigure --enable-cli --enable-dbasenmakenmake snap
添加自定义扩展
以smtpmail为例,需要安装cygwin全默认就行,生成扩展目录
cd ext..\Release_TS\php.exe ext_skel_win32.php --extname=smtpmail
方法1)如果使用命令行编译
修改config.w32把ARG_ENABLE前面的//去掉保存,执行命令
cd ../buildconf
打开configure.js找到行
ARG_ENABLE("smtpmail", "enable smtpmail support", "no"); */
去掉多出来的*/最终效果为
ARG_ENABLE("smtpmail", "enable smtpmail support", "no");
执行编译命令
configure --enable-smtpmail=sharednmakenmake snap
方法2)用vc2008的IDE打开编译
如果报php5ts_debug.lib不存在就从Release_TS\php-5.3.18\dev目录拷贝php5ts.lib到smtpmail目录,重命名为php5ts_debug.lib
参考:
https://wiki.php.net/internals/windows/stepbystepbuild
http://www.phpvim.net/web/php/build-php5-4-and-xdebug-on-win32.html
http://demon.tw/software/compile-php-on-windows.html
http://hi.baidu.com/outofthinking/item/3baeb0c5311c262c46d5c0b5
- 这里以win7系统用vs2008编译5.3.18为例
- webkit用win7+vs2008编译
- win7下安装jdk(以32位系统为例)
- windows 磁盘加密(以Win7系统为
- 在windows系统下用VC6编译最新版PHP5.3.3扩展(以vld为例)
- 用JS模拟按下按键(这里以F11为例)
- struts2 拦截器的研究 这里以登录为例
- struts2 拦截器的研究 这里以登录为例
- VS2005 VS2008编译的程序在Win7下以管理员身份运行的设置
- Win7下VS2008编译metis
- Win7下VS2008编译Tulip
- Win7下VS2008编译QtiPlot
- Win7下VS2008编译BabelGraph
- Win7下VS2008编译SocNetV
- Win7下VS2008编译pigale
- Win7下VS2008编译OGDF
- Win7下VS2008编译SGDT
- XBMC源码编译【WIN7+VS2008】
- Build path entry is missing:org.eclipse.jdt.launching.JRE_CONTAINER/
- 解决JAVA Applet被本地安全设置阻止问题
- ActivMQ中文文档
- c语言的sqlite3接口的设计
- jeecms3.0.4版本 详解请求如何找到首页
- 这里以win7系统用vs2008编译5.3.18为例
- Android中部署自己的su
- 陌陌的新广告能否为约炮神器正名?
- 控制台窗口位置 设置
- HMAC-SHA1 java版
- SystemProperty小结(Android4.2)
- Android fragment入门一
- java读写文件大全!
- tomcat 部署 web