zoukankan      html  css  js  c++  java
  • PHP扩展开发(2)

    1. 安装VS2013

    2. Cygwin安装

    3. 下载Windows的PHP源码
    4. 修改~/ext/ext_skel_win32.php
        加上 $cygwin_path = 'c:cygwinin';
    5. 生成扩展框架 php.exe ext_skel_win32.php --extname=simple
    6. 在VS2013上创建动态库项目
    7. VS2013 -> 修改解决方案为Release
    8. VS2013 -> 右键项目属性 -> C/C++ -> 常规(General)-> 附加包含目录(Additional Include Directories) -> 编辑添加
     
    E:php-5.6.9-src
    E:php-5.6.9-srcmain
    E:php-5.6.9-srcTSRM
    E:php-5.6.9-srcend
     
    9. VS2013 -> 右键项目属性 -> C/C++ ->预处理器(Preprocessor)->预处理器定义(Preprocessor Definitions) -> 编辑增加
     
    ZEND_DEBUG=0
    PHP_EXTENSION
    PHP_WIN32
    ZEND_WIN32
    HAVE_SIMPLE=1(SIMPLE要改成你的扩展名称,不改成你的扩展名,php会不识别,下同)
    COMPILE_DL_SIMPLE
    ZTS(这一个变量加上是开启线程安全,不加是关闭线程安全)
     
    10. 生成解决方案,错误信息显示找不到“config.w32.h”,在源代码文件目录里搜索“config.w32.h”,在E:php-5.6.9-srcwin32uild文件夹里找到“config.w32.h.in”,将这个文件复制到E:php-5.6.9-srcmain文件夹里,去掉后面的“.in”
     
    11. 再次生成解决方案,显示错误信息LNK1120


    错误 7 error LNK1120: 5 个无法解析的外部命令 E:php-5.6.9-srcext estReleasephptest.dll 1 1 phptest

     
    VS2013 -> 右键项目属性 -> 连接器(Linker)-> 输入(Input)->附加依赖项(Additional Dependencies) -> 编辑添加
     
     
    12. 修改 ~/main/config.w32.h
     
    增加 #define PHP_COMPILER_ID "VC9" 
     
    来源: http://www.cnblogs.com/mahatmasmile/p/4527495.html
  • 相关阅读:
    win10快捷键
    emmet语法
    sublime 快捷键,左菜单乱码
    Windows 10 下 MarkdownPad2 预览无法显示是怎么回事?
    html5上传图片
    mysql多表查询
    用C#创建一个窗体,在构造函数里面写代码和在from_load事件里面写代码有什么不同?
    有复选框情况下,sql拼写技巧
    C# 图片 旋转和翻转 RotateFlip
    ListView
  • 原文地址:https://www.cnblogs.com/imarno/p/5148827.html
Copyright © 2011-2022 走看看