软件准备

Apache2.4
php-5.6.20-Win32-VC11-x86
php-5.6.20-src
mysql-5.5.45-win32
vcredist_x86.exe
vs2012旗舰版
Cygwin

本人是在windows7 32位系统下进行开发的,如为64位系统,请选择64位版本。

开发PHP扩展,要用到php的源代码,目前php的官网已经找不到php5.3以下的源码了,只能采用php5.3以上的源码,所以php版本选择了php-5.6.20,从官网http://windows.php.net/download/下载后的源码包为:php-5.6.20-src,同样安装包必须与其对应,下载后的压缩包为:php-5.6.20-Win32-VC11-x86。
此目前php官网能下载到的php只支持apache2.4版本,因此必须下载apache2.4,此版本可百度自行下载,只要不下载apache2.2版本即可。
mysql我采用的是mysql-5.5.45-win32,可百度自行搜索。
由于php为VC11编译,必须支持vc11的运行环境,下载vcredist_x86.exe,安装后即可(Apache在启动时同样需要此运行环境)。
开发工具采用vs2012旗舰版(即VC11),网上自行下载,激活码激活即可。
Cygwin,linux环境模拟器,建议下载离线包,我是从这边下载的http://www.cr173.com/soft/60977.html,否则在线安装包非常非常慢,最后还不一定能下载成功

环境搭建

1)首先安装vc11,即安装vcredist_x86.exe,直接Next即可完成。
2)安装Cygwin,直接默认安装到C:/cygwin 即可
3)解压缩php-5.6.20-src源码压缩包,至c:/php-5.6.20-src,我们的扩展开发均基于此源代码进行
4)解压php-5.6.20-Win32-VC11-x86压缩包,并copy到C:/php
5)安装apache2.4
将压缩包解压缩到C:/Apache2.4
用记事本打开C:\apache24\conf\httpd.conf修改该配置文件
#ServerName www.example.com:80 前的#去掉,变成 ServerName www.example.com:80
DocumentRoot "c:/Apache24/htdocs" 修改为DocumentRoot "D:/website/htdocs",其中"D:/website/htdocs" 为我的网站目录
同样<Directory "c:/Apache24/htdocs">修改为<Directory "D:/website/htdocs">
DirectoryIndex index.html 修改为DirectoryIndex index.html index.php支持默认的php文件
增加一行LoadModule php5_module "c:/php/php5apache2_4.dll",前提您的php安装包已经解压缩至C:/php
增加AddType application/x-httpd-php .php增加对php的支持,
此时保存httpd.conf文件
下面将apache服务增加到windows服务当中,在cmd中执行:c:\apache24\bin\httpd -k install
4)修改php.ini
将C:/php目录下的php.ini-development拷贝到windows目录下,并修改文件名为php.ini,编辑此文件
extension_dir = "ext" 修改为extension_dir = "C:/php/ext/","C:/php/ext/"为php的扩展目录

;extension=php_mysql.dll ;extension=php_mbstring.dll ;extension=php_gd2.dll
这几个扩展前的;去掉,此为几个常用扩展,根据需要可以选择用其他扩展

打开c:\apache24\bin\ApacheMonitor.exe启动apache
6)安装mysql,直接一步一步Next安装即可。
7)安装vs2012,直接一步一步Next安装即可。

本环境搭建中的诸多设置可见http://www.tinysoft.me/index.php/archives/24/ 一文,只是软件的版本更新了,有一些不同而已。

基于Visual c++ 2012的php扩展开发 - 环境搭建的更多相关文章

  1. 基于Visual c++ 2012的php扩展开发 - HelloWord!

    1.cmd进入命令行模式,并进入php-5.6.20-src/ext源代码的ext目录下输入命令php ext_skel_win32.php --extname=HelloWord,执行结果如下图: ...

  2. 【Xamarin】Visual Studio 2013 Xamarin for Android开发环境搭建与配置&Genymotion

    Xamarin Xamarin是基于Mono的平台. Xamarin旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发. 下载资源 1,进入Xamarin官方网 ...

  3. php扩展开发环境搭建

    首先要安装编译php时要的几个扩展库 (1)libxml2,若无php安装一些解析xml的扩展时会提示xml2-config not found sudo apt-get install libxml ...

  4. 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)

    遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...

  5. 基于Eclipse+Cordova的Android Hybrid应用开发环境搭建

    环境说明 操作系统:Windows 7 64位 Eclipse版本:4.5.2 Release(eclipse-jee-mars-2) JDK版本:1.8 搭建步骤 1.从http://www.ecl ...

  6. 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)

    本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...

  7. 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)

    前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...

  8. 在Visual Studio 2012中使用VMSDK开发领域特定语言1

    在Visual Studio 2012中使用VMSDK开发领域特定语言(一)   前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modelin ...

  9. 翻译:打造基于Sublime Text 3的全能python开发环境

    原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ ...

随机推荐

  1. CentOS 6.5 MySQL5.6.26源码安装

    一.源码安装cmake工具 从mysql5.5起,mysql源码安装开始使用cmake wget http://cmake.org/files/v3.2/cmake-3.2.3.tar.gztar z ...

  2. vue - audio标签

    audio 标签 <audio :src="current_music" autoplay controls autoloop @end="next_song&qu ...

  3. <转载> Jquery的使用技巧-实用!

    1.使用方法在需要使用JQuery的页面中引入JQuery的js文件即可.例如:<script type="text/javascript" src="js/jqu ...

  4. JQuery实现动态生成树形菜单

    jQuery实现动态生成树形菜单 有一个需求:菜单导航条需要依据不同的权限动态提取出来.计划是将功能模块与用户权限之间的关系保持到一个配置表中.所以功能菜单的话就需要动态提取出来再显示.借助jquer ...

  5. 【BZOJ2762】[JLOI2011]不等式组 树状数组

    [BZOJ2762][JLOI2011]不等式组 Description 旺汪与旺喵最近在做一些不等式的练习.这些不等式都是形如ax+b>c 的一元不等式.当然,解这些不等式对旺汪来说太简单了, ...

  6. php无法连接mongodb 3.0问题解决

    1 几个常用的role root mongodb最高权限 userAdmin 自己建立的数据库账号管理权限 read 只读权限 readWrite 可读可写 2 遭遇的梗 为数据库建立了账号,php死 ...

  7. Object.defineProperties()

    w https://docs.microsoft.com/en-us/scripting/javascript/reference/object-defineproperty-function-jav ...

  8. java爬虫-简单爬取网页图片

    刚刚接触到“爬虫”这个词的时候是在大一,那时候什么都不明白,但知道了百度.谷歌他们的搜索引擎就是个爬虫. 现在大二.再次燃起对爬虫的热爱,查阅资料,知道常用java.python语言编程,这次我选择了 ...

  9. ECMAScript6重复字符串方法repeat()

    repeat() 1.定义 repeat()方法返回一个新字符串,新字符串将对象字符串重复指定次数. 2.语法 str.repeat(count) count:表示新构造的字符串把原字符串重复的次数, ...

  10. python函数回顾:help()

    描述 help() 函数用于查看函数或模块用途的详细说明. 语法 help 语法: help([object]) 参数说明: object -- 对象: 返回值 返回对象帮助信息. 实例 以下实例展示 ...