基于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/ ...
随机推荐
- linux oracle sqlplus中文乱码解决
在oracle用户的~/.bash_profile中添加 NLS_LANG="SIMPLIFIED CHINESE"_CHINA.ZHS16GBKexport NLS_LANG 然 ...
- 一个智障安装了一天的python和graphlab的血泪史
大概的过程是这样的: 先装了python3.6.1.,然后发现搞错了Σ(  ̄□ ̄||),是32 bit的,卸了重装python 3.6.1 (64bit). 然后装easy_install.pip.i ...
- linux命令之面试题1
1.请解释下列10个shell命令的用途 top:是linux下常用的性能分析工具,能够实时的显示系统中各个进程的资源占用情况,类似于windows的资源管理器,查看系统的cpu,内存,运行时间,交互 ...
- 当公有云Azure拥抱Docker容器技术
本文转载至 http://3387405.blog.51cto.com/3377405/1598977 预见未来看似是一件不太可能的事情,然而现在企业科技高速发展的态势完全超乎想象. 就在几周前Inf ...
- webService通过response和request对象传输文件
<code class=" hljs java">package gacl.response.study; 2 3 import java.io.IOException ...
- 华盟网公开课 office 宏 主讲Alex
powershell github: veil-evasion macroshop unicorn https://github.com/trustedsec/unicorn metasploit ...
- 程序如何在RAM ROM运行,内存分配与分区
关于RAM ROM RAM与ROM就是具体的存储空间,统称为存储器 RAM(random access memory):运行内存,CPU可以直接访问,读写速度非常快,但是不能掉电存储.它又分为: 动态 ...
- Docker Metasploit Framework
https://hub.docker.com/r/usertaken/metasploit-framework/ docker pull usertaken/metasploit-framework ...
- PHP与ASP转义双引号的区别
PHP: 转义双引号:\" ASP: 转义双引号:"" PHP与ASP转义双引号的区别
- Oracle数据库使用Analyze提升sql性能
Oracle数据库使用Analyze提升sql性能 如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会.假设你创建了一张拥有100万条记录的临 ...