windows 系统 C语言写PHP简单扩展
2016-05-24 13:04
405 查看
PHP是纯C语言写出来的,其实也可以理解为PHP是C语言的接口,我使用PHP就是使用了C语言的接口,我们完全可以用C写PHP的扩展,准备工作,PHP分为VC6/VC9/VC11,高版本的C语言需要VC2008,但是VC2008太大我不想去安装,于是就选择了VC6,这么的话PHP只能选择5.3版本的,下面开始工作准备:
1.下载PHP源码和其他工具,我已经上传好了下载链接http://download.csdn.net/detail/gaoxuaiguoyi/9529484
2.进入你解压的文件下面打开docs窗口:buildconf
3.设置临时的环境属性:set path=%path%;D:/php-5.3.8/bin
中间必须安装了VC6.0,工具在压缩包里面自己安装,如果提示缺少mspdb60.dll就解压(如果是32位就放到C:\Windows\System32下面,64位放到C:\Windows\SysWOW64)
4.执行:cscript /nologo configure.js --with-php-build="../php5.3.8" --without-libxml --disable-odbc
5.进入ext目录下面执行:php ext_skel_win32.php --extname=myfirstdll
6.用编辑器打开php_myfirstdll.h在PHP_FUNCTION(confirm_myfirstdll_compiled);下面加入PHP_FUNCTION(sayHello);
7.打开myfirstdll.c在PHP_FE(confirm_myfirstdll_compiled,
NULL)下面加入PHP_FE(sayHello,NULL)
8.编写sayHello方法在PHP_FUNCTION(confirm_myfirstdll_compiled)下面添加:
在点击之前要去选择编译环境,我们选择release模式:
点击组建会有移除工程配置,我们选择Release就可以了.
10.找到dll文件在解压的目录下面会生成Release_TS
就可以找到生成的dll文件了,进行测试要用5.3版本的php去测试否则是不行的,下载php-5.3.5-Win32-VC6-x86版本即可,把扩展加入ext,在PHP.ini加入extension
= myfirstdll;
写一个test.php文件:
执行:
至此已经简单的完成了,C语言在windows下面如何写扩展,如果在linux下面会更方便,以后会在linux下面进行测试。
1.下载PHP源码和其他工具,我已经上传好了下载链接http://download.csdn.net/detail/gaoxuaiguoyi/9529484
2.进入你解压的文件下面打开docs窗口:buildconf
3.设置临时的环境属性:set path=%path%;D:/php-5.3.8/bin
中间必须安装了VC6.0,工具在压缩包里面自己安装,如果提示缺少mspdb60.dll就解压(如果是32位就放到C:\Windows\System32下面,64位放到C:\Windows\SysWOW64)
4.执行:cscript /nologo configure.js --with-php-build="../php5.3.8" --without-libxml --disable-odbc
5.进入ext目录下面执行:php ext_skel_win32.php --extname=myfirstdll
6.用编辑器打开php_myfirstdll.h在PHP_FUNCTION(confirm_myfirstdll_compiled);下面加入PHP_FUNCTION(sayHello);
7.打开myfirstdll.c在PHP_FE(confirm_myfirstdll_compiled,
NULL)下面加入PHP_FE(sayHello,NULL)
8.编写sayHello方法在PHP_FUNCTION(confirm_myfirstdll_compiled)下面添加:
PHP_FUNCTION(sayHello) { char *arg = NULL; int arg_len, len; char *strg; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) { return; } php_printf("Hello!!!,%s"); }9.找到myfirstdll.dsp用VC6.0打开,点击build(或者F7直接生成myfirstdll.dll)
在点击之前要去选择编译环境,我们选择release模式:
点击组建会有移除工程配置,我们选择Release就可以了.
10.找到dll文件在解压的目录下面会生成Release_TS
就可以找到生成的dll文件了,进行测试要用5.3版本的php去测试否则是不行的,下载php-5.3.5-Win32-VC6-x86版本即可,把扩展加入ext,在PHP.ini加入extension
= myfirstdll;
写一个test.php文件:
<?php sayHello('sahaks');
执行:
至此已经简单的完成了,C语言在windows下面如何写扩展,如果在linux下面会更方便,以后会在linux下面进行测试。
相关文章推荐
- C++ 类的声明
- C++第六次作业
- C语言常用程序(1):计算某日是该年的第几天
- 霍夫Hough峰值检测的C++实现
- (*(volatile unsigned char *)0x20)用法
- C++作业6
- C++中的dynamic_cast和static_cast
- C语言中对时间的操作
- [duilib] C++调用JS出现中文乱码的解决
- C++逆波兰表达式的求解
- C语言变量作用域
- C++中的析构函数
- C语言sprintf与sscanf函数[总结]
- C语言回调函数熟练---使用方法(构建程序框架方便好用)
- 绝对值公式fabs()
- 哈夫曼树的c++实现
- 多模式匹配AC算法
- C++友元详解
- c++ template实例化
- 用Switch语句统计字符个数