入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

windows环境下php和Php扩展编译,扩展dll文件编译

创建时间:2015-05-08 投稿人: 浏览次数:7230

工作过程中需要编译php扩展的dll格式文件 , 经过1天的折腾,终于编译出来了,下面以编译php5.3.28 下runkit扩展为例 , 官方的windows环境下php编译过程参考下面这两篇文章:

https://wiki.php.net/internals/windows/stepbystepbuild

http://blog.csdn.net/mycwq/article/details/10165955


php5.3.28 , runkit


编译的过程基本就是跟文档一致 , 注意的是 ,runkit源码建议去github下载最新的 , 要不可能编译出错


runkit:

https://github.com/zenovich/runkit


windows环境下编译php最难的就是环境搭建了 ,包括 vs2008安装、windows SDK6.1安装。环境搭建好了后


编译工作

1、创建编译目录“C:php_sdk”

2、解压php-sdk-binary-tools-20110915.zip里面的文件到php_sdk目录下

3、在开始菜单找到并打开Windows SDK CMD Shell (注意一定是SDK的shell , 不是DOS操作的cmd窗口),然后执行

[plain] view plaincopy
  1. setenv /x86 /xp /release    //这一句一定要执行成功,要不怎么都不会编译成功
  2. cd php_sdk  
  3. binphpsdk_setvars.bat  
  4. binphpsdk_buildtree.bat phpdev  

执行后,目录下会生成phpdev文件夹

4、进入C:php_sdkphpdevvc9x86,把deps-5.3-vc9-x86.7z解压到该目录下,覆盖deps文件夹。(php sdk)

5、把php源代码也解压到x86目录下。

6、把runkit压缩包内容解压到php解压后源码下的ext目录下,并把文件夹名runkit-master改为runkit

7、在x86目录下创建obj文件夹,用于保存编译时生成的文件

8、执行以下命令,用于创建php编译配置

[plain] view plaincopy
  1. cd phpdevvc9x86php5.3-201308211030  
  2. buildconf  
  3. configure --help >..configure_help.txt  
  4. configure --disable-all --enable-cli --enable-runkit=shared --enable-object-out-dir=..obj

注:配置中的--enable-runkit=shared意思是 memcache 以 dll 形式生成,否则就和php集成在一起了。

如果提示bison.exe不存在,执行命令,再重新执行下面的操作(经过上面的配置后,bison.exe应该在 c:php_sdkin目录下 , 把这个目录放到环境变量中就行了)

[plain] view plaincopy
  1. set path=%path%;C:php_sdkin  

9、编译php,执行以下命令

[plain] view plaincopy
  1. nmake  

10、如果想打包php,执行以下命令

[plain] view plaincopy
  1. nmake snap  


到这里,编译工作应该结束了。可以在C:php_sdkphpdevvc9x86objReleaseTS目录中找到php_memcache.dll


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。