所需要的工具或者文件:

1、php源码,去官网下载即可。http://windows.php.net/download

2、php-sdk:php 开发工具包

3、deps类库

4、Cygwin:windows下模拟liux的编译器

网络资源参考

1、http://blog.csdn.net/a600423444/article/details/8108993

2、http://koda.iteye.com/blog/315779

环境搭建

将php-sdk解压,解压后应该有bin和script这两个子目录。

1、设置编译环境变量

运行vs2008的vcvarsall.bat文件,该文件位于:VS2008安装路径\VC\vcvarsall.bat

2、设置开发环境变量

进入php-sdk所在目录,例如cd c:\php-sdk

运行bin目录下的两个文件:phpsdk_setvars.bat、phpsdk_buildtree.bat

格式:

bin\phpsdk_setvars.bat

bin\phpsdk_buildtree.bat php54dev

其中的php54dev为扩展项目名,可以任意修改。运行后php-sdk目录下会多个一个php54dev目录。

3、安装开发类库

将deps加压到:php-sdk\php54dev\vc9\x86\目录下,原先该目录下有一个deps目录,将其覆盖即可。

4、引入php源码

将下载的php源码也解压到php-sdk\php54dev\vc9\x86\目录下

5、编译php源程序

cmd进入php源码目录,运行buildconf

6、创建扩展程序

安装cygwin,进入php源码包\ext目录下,修改ext_skel_win32.php : 
  $cygwin_path = 'c:\cygwin\bin';

修改为你的cygwin目录 
  $cygwin_path = 'd:\cygwin\bin';

命令行方式进入ext目录然后运行: 
php ext_skel_win32.php --extname=myhello 
(当然,为了保证上面的命令行能正常运行,首先你得确保你的php目录在系统的环境变量里)

7、构建dll文件

1.用VS打开myhello文件夹中的.dsp文件
2.设置项目属性-》配置属性-》C/C++-》代码生成,设置运行库:多线程 DLL (/MD)
3.设置项目属性-》配置:切换到Release_TS
 
4.设置项目属性-》配置属性-》C/C++-》高级,设置编译为:编译为 C 代码 (/TC)
5.设置项目属性-》配置属性-》链接器》常规,设置输出文件:Release_TS/php_myhello.dll。
如果不设置,当编译生成扩展后,找起来会比较麻烦。所以这项设置不是必须的。
6.设置项目属性-》配置属性-》链接器》常规,增加附加库目录:F:\php_work\php-5.4.5\dev
现在扩展已经编译成功,接下来是在PHP中使用它。
8.拷贝php_my_fopen.dll至F:\php_work\php-5.4.5\ext下
8.打开F:\php_work\php-5.4.5\php.ini,添加extension=ext/php_myhello.dll
9.新建F:\php_work\test.php
<?php
echo confirm_myhello_compiled("test");
?>
 

使用vs2008搭建php扩展环境的更多相关文章

  1. php开发扩展环境的搭建(Windows)

    php开发扩展环境的搭建(Windows) 前期准备: (1) 下载php-5.3.10源码包(php-5.3.10.tar.bz2)并解压到C:\php-5.3.10:下载二进制包php-5.3.1 ...

  2. Windows下搭建PHP开发环境

    PHP集成开发环境有很多,如XAMPP.AppServ......只要一键安装就把PHP环境给搭建好了.但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习.所以我还是喜欢手工搭建PHP开发 ...

  3. 在macOS Sierra 10.12搭建PHP开发环境

    macOS Sierra 11.12 已经帮我们预装了 Ruby.PHP(5.6).Perl.Python 等常用的脚本语言,以及 Apache HTTP 服务器.由于 nginx 既能作为 HTTP ...

  4. 9款一键快速搭建PHP运行环境的好工具

    9款一键快速搭建PHP运行环境的好工具 胡倡萌 2011/02/19 网络资源 77,063 1     内容提要: 建立一个PHP网站,首先需要搭建PHP的开发和运行环境,对于PHP初学者也是一个难 ...

  5. 抛弃强大的TFS ,借助于BugTracker.NET + Visual Source Safe + SourceLink搭建项目开发环境

    微软公司的Team Foundation Server是个强大的项目管理工具,如果用.NET开发,它应该是首选的项目管理平台.TFS的成本比较高,而且和Visual Studio集成紧密.比如TSF有 ...

  6. Windows搭建python开发环境,python入门到精通[一]

    从大学开始玩python到现在参加工作,已经有5年了,现在的公司是一家.net的公司用到python的比较少,最近公司有新项目需要用到python,领导希望我来跟其他同事training,就有了这篇博 ...

  7. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  8. 使用Visual Studio Code搭建TypeScript开发环境

    使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...

  9. 如何搭建redis扩展-Yii中文网

    原文链接: 如何搭建redis扩展http://www.yii-china.com/post/detail/43.html 安装redis扩展: 1.通过composer进行安装,到项目根目录cmd运 ...

随机推荐

  1. 回文自动机(BZOJ2565)

    #include <cstdio> #include <cstring> #include <iostream> using namespace std; ][], ...

  2. iOS开发知识点总结

    main文件做了这几件事: 1. 创建当前的应用程序 2. 根据4个参数的最后为应用程序设置代理类(默认情况下是AppDelegate) 3. 将appDelegate 和 应用程序 建立关联(指定代 ...

  3. 控件之媒体控件: Image, MediaElement

    Image - 图片控件 MediaElement - 播放视频或音频的控件 示例1.Image 的 DemoImageDemo.xaml <Page x:Class="XamlDem ...

  4. java 对象入门

    对象的五大特征 (1)所有东西都是对象.可将对象想象成一种新型变量;它保存着数据,但可要求对自身进行操作.理论上讲, 可从要解决的问题身上提出所有概念性的组件,然后再程序中将其表达为一个对象. (2) ...

  5. iOS - 沙盒与目录

    NSFileManager NSBundle Class Cluster 采用Tagged Pointer的字符串 NSPathStore iOS证书ipa包重签名探究 url 结构 1. iOS 沙 ...

  6. <<< ajax在jsp中对于https跨域不能访问

    XMLHttpRequest cannot load https://www.emaple.com. No 'Access-Control-Allow-Origin' header is presen ...

  7. Burpsuite 重要插件

    1.Gason:Burpsuite-sqlmap插件,该插件可以让burp与sqlmap轻松对接,深度发掘SQL注入漏洞. 2.fuzzdb:fuzzing测试数据库,开源,深度测试SQL注入,xss ...

  8. js自适应屏幕高度

    //自适应屏幕高度 $(window).resize(function() { hightChange(); }); function hightChange(){ ; $();// iframe i ...

  9. MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用

    MySQL有两种常用的引擎类型:MyISAM和InnoDB.目前只有InnoDB引擎类型支持外键约束.InnoDB中外键约束定义的语法如下: ALTER TABLE tbl_name ADD [CON ...

  10. Test Regular Expressions Online with RegExr免费的正则表达式检验网站

    免费的正则表达式检验网站: http://www.regexr.com