所需要的工具或者文件:

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");
?>

转载于:https://www.cnblogs.com/qbyyqhcz/p/3992996.html

使用vs2008搭建php扩展环境相关推荐

  1. VS2008开发Windows Mobile6环境搭建及模拟器联网问题图解

    安装了VS2008后,新建一个智能设备的工程,但调试时只有三个WM5.0的模拟器可用,从网上查到要安装WM6.0的SDK,还要安装一些其它的组件才能开始WM(现在最新的叫法叫WP Windows Ph ...

  2. CATIAV5R21+CAA+RADE+VS2008二次开发环境搭建注意事项

    CATIAV5R21+CAA+RADE+VS2008二次开发环境搭建注意事项 安装CATIA ProgramData文件夹复制到C盘 netapi32.dll复制到CATIA安装路径 不勾选的许可证 ...

  3. Windows下搭建PHP开发环境

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

  4. Ubuntu搭建Spark运行环境

    前言 因为之前研究的方向是分布式系统,重点放在了Hadoop分布式文件系统上.现如今,社会对机器学习的需求势如破竹.为了调整研究方向,而且不抛弃原本的研究成果,研究反向便从分布式系统转为分布式机器学习 ...

  5. python ai应用开发_AI应用开发实战 - 从零开始搭建macOS开发环境

    AI应用开发实战 - 从零开始搭建macOS开发环境 联系我们 OpenmindChina@microsoft.com 零.前提条件 一台能联网的电脑,使用macOS操作系统 请确保鼠标.键盘.显示器 ...

  6. Ubuntu18.04+RTX 2080Ti+CUDA 10.0 +cuDNN+PyTorch搭建深度学习环境

    SSH无密码登陆 安装SSH Server Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server: sudo apt-get install openssh-serv ...

  7. 一天一点linux(9):ubuntu下如何搭建LAMP开发环境?

    功能介绍 上一次搭建Linux下LAMP环境是基于的CentOS6.7版本,采取的方式是源码编译安装,折腾了好久才在CentOS下,把LAMP环境给搭建起来,而Ubuntu作为现在主流的Linux版本 ...

  8. python环境搭建_搭建Python编程环境

    说明:本文面向信息技术新教材环境下的中学生或者编程小白.Python作为新教材落实计算思维的主要载体,有其独特的魅力.千里之行始于足下,搭建Python运行环境是跨出进入新世界大门的第一步. 搭建Py ...

  9. 使用 docker 搭建 web 服务环境

    本文目的 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都会具有一定的依赖性的.对于 PHP 的 Web 开发来说,开发环境至少要有一个 Web 服务器(如 Apac ...

最新文章

  1. 优化javaScript代码,提高执行效率
  2. context linux,使用selinux contexts
  3. OpenStack 虚拟机的磁盘文件类型与存储方式
  4. Centos7部署JAVA环境
  5. Struts2文件上传的大小限制问题
  6. java课程设计进程管理_Java课设总结(个人版)
  7. 朝花夕拾-4-shell
  8. c语言字母表等腰三角,【原创】CS必修课——C语言基础编程实战26“C语言输出等腰三角形”...
  9. Linux时间子系统之二:表示时间的单位和结构
  10. [电脑桌面壁纸]macOS Big Sur 桌面壁纸分享
  11. Python实现汉译英
  12. Nature综述|整合组学分析护航健康,推动精准医学时代的到来!
  13. 北京地区的汉代古驿道粗探
  14. 微信小程序制作-----日历记事本
  15. 如何更好使用markdown输出pdf
  16. 加速度计与陀螺仪区别
  17. 电脑中石英晶振的应用
  18. 什么是大数据?它存在的意义和用途是什么?
  19. 互联网晚报 | 爱奇艺回应因限制投屏被起诉事件;“鱼跃医疗”回应被罚270万元;2022年全国城市GDP十强全部出炉...
  20. 数学建模学习笔记(十五)数据归一化

热门文章

  1. python学习--关注容易被忽略的知识点---(一)python基础
  2. RISC-V教材勘误
  3. 树莓派+docker+tensorflow
  4. JavaWeb——eclipse与tomcat环境配置
  5. Aptana Studio 介绍
  6. 网络游戏的客户端同步问题
  7. python类方法和实例方法syntax errors_《Fluent Python》CH.11_面向对象_接口:从协议到抽象基类...
  8. c++ mysql 写库 乱码 ??_mysql c++ 乱码 解决方法
  9. 每天Leetcode 刷题 初级算法篇-数学问题-计数质数
  10. HUE与HDFS的集成