详解Window7 下开发php扩展

一、首先查看phpinfo() 信息

PHP Version 5.4.34

Zend Extension Build API220100525,TS,VC9

PHP Extension Build API20100525,TS,VC9

Thread Safety enable

线程安全,VC9编译,5.4.34版本

二、开发前准备工作

php 5.3-5.4 :Visual C++ 9.0(Visual Studio 2008)

安装Cygwin(下载地址:http://www.cygwin.com/),虚拟linux环境

php编译后的程序和编译前的源码(下载地址:http://windows.php.net/download/)

编译后的程序路径:php-5.4.45-Win32-VC9-x86\

编译前的源码路径:php-5.4.45-src\

下载php sdk文件,http://windows.php.net/downloads/php-sdk/

1、解压php-sdk-binary-tools-20110915.zip里面的文件,将bison.exe所在的bin目录添加的系统path中

将php-5.4.45-Win32-VC9-x86\dev\php5ts.lib 复制到php-5.4.45-src\Release_TS\php5ts.lib

新建php-5.4.45-src\main\config.win32.h,内容如下:

#define SIZEOF_LONG 4

#define PHP_COMPILER_ID "VC9"

"VC9"对应VC9

2、找到php源码目录, php-5.4.45-src\ext\ext_skel_win32.php

/*

This script can be used on Win systems

) Make sure you have CygWin installed

) Adjust the $cygwin_path to match your installation

) Change the environment cariable PATHEXT to include .PHP

) run ext_skel --extname=...

the first time you run this script you will be asked to

associate it with a program. chooses the CLI version of php.

*/

$cygwin_path = 'D:\Program Files\cygwin\bin';

这里改成你的cygwin安装目录。

3、运行cmd,进入php源码目录, php-5.4.45-src\ext,运行命令php ext_skel_win32.php --extname=myphpexs

记得将php.exe 所在目录加入path,--extname=你的扩展名字,

若成功会再ext目录下生成myphpexs文件夹,内容如下

4、用vs2008 打开myphpexs.dsp, 解决方案配置改为Release,执行生成命令

顺利的话将生成php_myphpexs.dll文件,我的将php_myphpexs.dll生成再了php源码根目录的Release_TS文件夹中

5、将php_myphpexs.dll放到你php的扩展目录,再php.ini中加上extension=php_myphpexs.dll

6、新建php脚本文件test.php,内容如下

echo confirm_myphpexs_compiled('test');

7、运行测试文件,出现如下内容说明,成功了

Congratulations! You have successfully modified ext/myphpext/config.m4. Module 23 is now compiled into PHP.

8、confirm_myphpexs_compiled是建立扩展是自带的册数函数,在编辑你自己的扩展内容时,可以删除改函数相关阅读:

JSON中双引号的轮回使用过程中一定要小心

如何利用input事件来监听移动端的输入

ThinkPHP 表单自动验证运用示例

MySQL正则表达式入门教程

typecho插件编写教程(六):调用接口

jQuery绑定事件on()与弹窗的简要概述

js实现表单Radio切换效果的方法

Win10记事本拖放文件打不开怎么办?Win10记事本拖放文件打不开问题解决方法

纯javascript移动优先的幻灯片效果

Linux系统中获取路径的文件名的方法

如何在Mac中安装Leopard以来提高工作效率

Java Swing中的JButton、JComboBox、JList和JColorChooser组件使用案例

Linux系统下查看网络接口数据信息的命令总结

Android中使用Matrix控制图形变换和制作倒影效果的方法

win php 查看所有扩展,PHP_详解Window7 下开发php扩展,一、首先查看phpinfo() 信息 PHP - phpStudy...相关推荐

  1. 计算机快捷方式后缀名,电脑快捷键-文件扩展名详解.doc

    电脑快捷键-文件扩展名详解 移张匪奶爪辣缔观爵恃国炉拂遗阻掌香纶笨艇躬块件部桑畜妒初贞坊乾貌怠渴汾牵敦滑柒页言旺抓估勺斯邓锚鹊山溶担岭椭碟蕉政粒恳法桅汹湛鱼巢睦痹堑冷牟歼丰顾江疤泰罢旁杏传英命痢纺康蛇 ...

  2. easyui js解析字符串_js相关:详解Jquery Easyui的验证扩展

    js相关:详解Jquery Easyui的验证扩展 发布于 2020-7-2| 复制链接 本文主要介绍了Jquery Easyui验证扩展,Easyui验证,Easyui校验,js正则表达式.具有一定 ...

  3. 20200118:(leetcode)最长回文子串(中心扩展算法详解及思考)

    最长回文子串(中心扩展算法详解及思考) 题目 中心扩展算法详解 代码实现 题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: " ...

  4. docker logs 查看docker容器日志详解

    docker logs 查看docker容器日志详解 通过docker logs命令可以查看容器的日志. 命令格式: $ docker logs [OPTIONS] CONTAINEROptions: ...

  5. 如何查看水表(图例详解)

    原文地址:如何查看水表(图例详解)作者:steven2632 水表一般红色的是小数位,黑色的是整数位,红字轮的不要管它,从黑字轮的x1000.x100.x10.x1开始看起,分别是千位.百位.十位和个 ...

  6. vue基础扩展8--solt详解

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><title& ...

  7. linux中关于防火墙的命令,Linux系统中查看防火墙的命令详解

    Linux系统中如果要查看到防火墙的状态信息要怎么办呢?下面由学习啦小编为大家整理了Linux系统中查看防火墙的命令详解,希望对大家有帮助! Linux系统中查看防火墙的命令详解:一.service方 ...

  8. Python 装饰器详解(下)

    Python 装饰器详解(下) 转自:https://blog.csdn.net/qq_27825451/article/details/84627016,博主仅对其中 demo 实现中不适合pyth ...

  9. linux中which命令详解,Linux下which命令使用详解(转)

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which 查看可执行文件的位置. whereis 查看文件的位置. locate 配合数据库查看文件位置. f ...

最新文章

  1. msvcrt.lib和LIBCD.lib链接冲突
  2. _BLOCK_TYPE_IS_VALID错误
  3. Java常用的八种排序算法与代码实现
  4. cannot import name 'imresize' from 'scipy.misc'
  5. mysql--------四种索引类型
  6. 【LeetCode - 798】得分最高的最小轮调(转化法)
  7. mysql load data 乱码的问题
  8. mysql运维技巧_​mysql初级运维使用技巧
  9. Scala常用List列表操作方法
  10. [Linux 驱动]模块加载RTX8025驱动
  11. Celery在Django下安装配置
  12. POJ 1915(双向广搜)
  13. 新版qq虚拟摄像头颜色不正常_分享 | 在线教学常见问题QQ直播、视频通话、群课堂...
  14. 数字电子技术设计--彩灯控制电路的设计与制作
  15. OkHttp相关知识(三)
  16. python面向对象的特征_python 面向对象的三大特性
  17. 小陈Java学习笔记0810
  18. Web 自动化解决方案 [开源项目] 基于 Selenium 的 Web 自动化测试框架完美版
  19. 连接宽带出现:调制解调器出现一个错误
  20. 浅谈硬链接和符号链接的区别

热门文章

  1. Java接入微信支付APIV3(Native)
  2. EasyDarwin 手机直播
  3. 程序人生 - 音频格式 PCM、WAV、MP3 区别
  4. pandas日期格式
  5. 央央家政解读:收纳整理的分类方式和规则
  6. ASEMI整流桥KBL406用于电脑适配器等
  7. 【保姆级教程】2023入门网络安全,从这篇文章开始
  8. CVPR 2023|淘宝视频质量评价算法被顶会收录
  9. 应用宝手机端打开指定应用链接,支持未上线应用
  10. 深度学习——结构递归神经网络(Recursive NN)