zoukankan      html  css  js  c++  java
  • 基于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:apache24confhttpd.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:apache24inhttpd -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:apache24inApacheMonitor.exe启动apache
    6)安装mysql,直接一步一步Next安装即可。
    7)安装vs2012,直接一步一步Next安装即可。

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

  • 相关阅读:
    quartz_jobs.xml的问题
    Enum.GetHashCode()的问题
    记录并分享一下安卓通讯录导入到IPhone
    js本地图片预览
    统计一下ie的一些问题(什么时候遇到什么时候更新)
    【转载】App.config/Web.config 中特殊字符的处理
    信息系统项目管理师备考笔记——项目生命周期和组织
    win10安装.net3.5
    结售汇与外汇买卖区别
    [z]数据库迁移
  • 原文地址:https://www.cnblogs.com/fancing/p/6394163.html
Copyright © 2011-2022 走看看