• 使用vs2008搭建php扩展环境


    所需要的工具或者文件:

    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安装路径VCvcvarsall.bat

    2、设置开发环境变量

    进入php-sdk所在目录,例如cd c:php-sdk

    运行bin目录下的两个文件:phpsdk_setvars.bat、phpsdk_buildtree.bat

    格式:

          binphpsdk_setvars.bat

          binphpsdk_buildtree.bat php54dev

    其中的php54dev为扩展项目名,可以任意修改。运行后php-sdk目录下会多个一个php54dev目录。

    3、安装开发类库

    将deps加压到:php-sdkphp54devvc9x86目录下,原先该目录下有一个deps目录,将其覆盖即可。

    4、引入php源码

    将下载的php源码也解压到php-sdkphp54devvc9x86目录下

    5、编译php源程序

    cmd进入php源码目录,运行buildconf

    6、创建扩展程序

    安装cygwin,进入php源码包ext目录下,修改ext_skel_win32.php : 
      $cygwin_path = 'c:cygwinin'; 

    修改为你的cygwin目录 
      $cygwin_path = 'd:cygwinin'; 

    命令行方式进入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_workphp-5.4.5dev
    现在扩展已经编译成功,接下来是在PHP中使用它。
    8.拷贝php_my_fopen.dll至F:php_workphp-5.4.5ext下
    8.打开F:php_workphp-5.4.5php.ini,添加extension=ext/php_myhello.dll
    9.新建F:php_work est.php
    <?php
    echo confirm_myhello_compiled("test");
    ?>
     
  • 相关阅读:
    微信java封装
    解决PowerDesigner 生成Sql2005-2012 找不到sysproperties表的问题
    ASP.net解析JSON例子
    c# 遍历子控件,比如Form下的group,或者panel
    修改sql2005字段
    清除grid内容的列
    sql 2000以及2005以上获取数据库中所有的表(不包括系统表)
    获取SqlServer2005表结构(字段,主键,外键,递增,描述)
    SQL SERVER 数据库实用SQL语句
    查找所有页面中的按钮
  • 原文地址:https://www.cnblogs.com/qbyyqhcz/p/3992996.html
Copyright © 2020-2023  润新知