详解Window7 下开发php扩展

 更新时间:2015年12月31日 15:06:19   作者:DearMrLi  
这篇文章主要介绍了详解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是建立扩展是自带的册数函数,在编辑你自己的扩展内容时,可以删除改函数

相关文章

  • Yii2 rbac权限控制之菜单menu实例教程

    Yii2 rbac权限控制之菜单menu实例教程

    这篇文章主要介绍了Yii2 rbac权限控制之菜单menu实例教程的相关资料,需要的朋友可以参考下
    2016-04-04
  • php操作csv文件代码实例汇总

    php操作csv文件代码实例汇总

    这篇文章主要介绍了php操作csv文件代码实例汇总,本文给出6个操作CSV文件的代码实例,包括读取、写入、读取指定区间等,需要的朋友可以参考下
    2014-09-09
  • PHP XML和数组互相转换详解

    PHP XML和数组互相转换详解

    这篇文章主要介绍了PHP XML和数组互相转换详解的相关资料,需要的朋友可以参考下
    2016-10-10
  • thinkphp5使用phpmail发送qq邮件的实现过程

    thinkphp5使用phpmail发送qq邮件的实现过程

    这篇文章主要给大家介绍了thinkphp5使用phpmail发送qq邮件的实现过程,文中有详细的代码示例供大家参考,具有一定的参考价值,感兴趣的小伙伴可以自己动手尝试一下
    2023-10-10
  • 解决yii2左侧菜单子级无法高亮问题的方法

    解决yii2左侧菜单子级无法高亮问题的方法

    这篇文章主要为大家详细介绍了解决yii2左侧菜单子级无法高亮问题的方法,感兴趣的朋友可以参考一下
    2016-05-05
  • Linux系统递归生成目录中文件的md5的方法

    Linux系统递归生成目录中文件的md5的方法

    这篇文章主要介绍了Linux系统递归生成目录中文件的md5的方法,利用PHP脚本实现,需要的朋友可以参考下
    2015-06-06
  • php行为验证码防止短信轰炸实例

    php行为验证码防止短信轰炸实例

    这篇文章主要为大家介绍了php行为验证码来防止短信轰炸实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • laravel 5.4中实现无限级分类的方法示例

    laravel 5.4中实现无限级分类的方法示例

    最近在工作中遇到一个需求,是要在laravel 5.4中实现无限级分类,但发现网上这个的资料较少,所以只能自己来实现了,下面这篇文章主要给大家介绍了关于在laravel 5.4中实现无限级分类的方法示例,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • NativePHP使用PHP创建桌面应用程序

    NativePHP使用PHP创建桌面应用程序

    这篇文章主要为大家介绍了NativePHP使用PHP创建桌面应用程序,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 用Simple Excel导出xls实现方法

    用Simple Excel导出xls实现方法

    因为前几天写了篇文章,用php-excel-reader类导入excel内容,顺便说些excel导出问题,需要的朋友可以了解下
    2012-12-12

最新评论