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

详解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,查看所有扩展)