基于Visual c++ 2012的php扩展开发 - 环境搭建
软件准备
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扩展开发 - 环境搭建的更多相关文章
- 基于Visual c++ 2012的php扩展开发 - HelloWord!
1.cmd进入命令行模式,并进入php-5.6.20-src/ext源代码的ext目录下输入命令php ext_skel_win32.php --extname=HelloWord,执行结果如下图: ...
- 【Xamarin】Visual Studio 2013 Xamarin for Android开发环境搭建与配置&Genymotion
Xamarin Xamarin是基于Mono的平台. Xamarin旨在让开发者可以用C#编写iOS, Android, Mac应用程序,也就是跨平台移动开发. 下载资源 1,进入Xamarin官方网 ...
- php扩展开发环境搭建
首先要安装编译php时要的几个扩展库 (1)libxml2,若无php安装一些解析xml的扩展时会提示xml2-config not found sudo apt-get install libxml ...
- 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)
遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...
- 基于Eclipse+Cordova的Android Hybrid应用开发环境搭建
环境说明 操作系统:Windows 7 64位 Eclipse版本:4.5.2 Release(eclipse-jee-mars-2) JDK版本:1.8 搭建步骤 1.从http://www.ecl ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)
本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)
前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言1
在Visual Studio 2012中使用VMSDK开发领域特定语言(一) 前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modelin ...
- 翻译:打造基于Sublime Text 3的全能python开发环境
原文地址:https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/ ...
随机推荐
- 通过 append() 和 prepend() 方法添加若干新元素
在上面的例子中,我们只在被选元素的开头/结尾插入文本/HTML. 不过,append() 和 prepend() 方法能够通过参数接收无限数量的新元素.可以通过 jQuery 来生成文本/HTML(就 ...
- 有向图 加最少的边 成为强连通分量的证明 poj 1236 hdu 2767
poj 1236: 题目大意:给出一个有向图, 任务一: 求最少的点,使得从这些点出发可以遍历整张图 任务二: 求最少加多少边 使整个图变成一个强连通分量. 首先任务一很好做, 只要缩点 之后 求 ...
- node.js 入门
什么是Node.js?还服务器端javascript?对于这个概念我在这篇文章不做解释,可以自己去搜索了解下,服务器端js不是新技术,只是最近的node.js的火爆让他爆发了,我会在以后的文章里解释什 ...
- 【转】ATL提供的所有转换宏
在头文件<atlconv.h>中定义了ATL提供的所有转换宏,如: A2CW (LPCSTR) -> (LPCWSTR) A2W (LPCSTR) -> (LPWSTR ...
- Java快车读书笔记
办公自动化:OA 客户关系管理:CRM人力资源:HR 企业资源计划:ERP知识管理:KM 供应链管理:SCM企业设备管理系统:EAM 产品生命周期管理:PLM面向服务体系架构:SOA 商业智能:BI项 ...
- PYTHON -创建 表 和 插入 数据
import sqlite3 conn = sqlite3.connect('y_user_data2.db') cursor = conn.cursor() #create tablecursor. ...
- spring无法启动常见原因及排查方法
这里总结的问题,通常啥错误也不报,需要自个debug排查,当然每个人遇到的问题可能是不同的,这里仅仅是我个人帮同事解决问题后的一些总结,可能网上的小伙伴可能也遇到,姑且简单记录一下: 1. mybat ...
- 解决ios8 webView加载的地图无法定位问题
本文转载至http://www.cocoachina.com/bbs/read.php?tid-237825.html 1.在文件info.pilist 中导入 NSLocationWhenI ...
- jqGrid 事件
jqGrid 事件 使用方法 var lastSel; jQuery("#gridid").jqGrid({ ... onSelectRow: function(id){ if(i ...
- Win7 maven安装及配置
1. 前期准备 ① jdk 1.8 ② maven 3.5.4 下载地址:http://maven.apache.org/download.cgi 2. 配置maven环境变量 ① maven解压到指 ...