在Windows环境下进行PHP扩展的开发
时间:2006-06-19 来源:Ehung
/*
* 版权归
PHPSalon.com
所有,未经许可,严禁任何形式转载
*
* Author: Wenlong Wu
*/
一、准备工作:
- 其他工具:如果使用自动生成 PHP 扩展代码的话,还需要
Cygwin
运行环境,要安装bison、flex、awk等工具。
- PHP 源代码:可以从PHP官方网站下载最新发行版本的
源代码
的打包文件或者
快照
,当然也可以通过
匿名 CVS
得到最新的开发版本,本文假定PHP源代码包存放在 d:\ezapp\php-4.3.7 目录下。
- 编译好开发PHP扩展时所需的文件,如php4ts.lib、php.exe等,当然也可从已编译好的包里拷贝一份。
二、生成框架:
PHP 源代码包里提供了一个自动生成 PHP 扩展的源代码框架,可以加快你的开发进度。
进入命令行模式,执行如下命令(本文假定开发一个名为 myext 的扩展):
cd d:\ezapp\php-4.3.7\ext
..\Release_TS\php-cli.exe ext_skel_win32.php --extname=myext
执行完以上命令后,会在 ext 目录下自动建立一个名为 myext 的目录,里面的文件就是扩展的源代码的完整框架,现在就可以编译该扩展了。
msdev myext\myext.dsp /MAKE "myext - Win32 Release_TS"
编译完成后,会在 d:\ezapp\php-4.3.7\Release_TS 目录下生成一个 myext.dll 文件。拷贝这个文件到你的PHP目录下了(如:c:\php\extension),并在 php.ini 中加入 extension=myext.dll ,然后重起WEB服务器,现在打开浏览器输入
http://localhost/myext.php
浏览一下结果(假定已将myext.php 文件拷到WEB根目录下)。
该扩展目前仅包含一个名 confirm_extname_compiled 函数。
三、加入自己的代码:
这里以加入一个带参数的 hello 函数,操作步骤如下:
- 打开 php_myext.h 文件,增加一条申明语句,如图一所示:
(图一)
- 打开 myext.c 文件,加入自定义的 hello 函数,如图二、三所示:
(图二)
(图三)
- 重新编译 myext
msdev myext\myext.dsp /MAKE "myext - Win32 Release_TS"
- 拷贝 myext.dll 文件到你的PHP扩展目录下(如:c:\php\extension),并重起WEB服务器。
- 新建一个 hello.php 文件,内容如下,并打开浏览器运行
屏幕上将会输出:Hello EZ Development Team
四、后记
本文仅是一篇入门级文章,旨在带你进入 PHP 扩展开发的行列,本人也将陆续写些高级开发的文章,敬请期待。
相关阅读 更多 +