windows开发php扩展
来源:互联网 发布:淘宝买药流程 提交需求 编辑:程序博客网 时间:2024/04/29 08:43
转自:http://www.widuu.com/archives/12/1150.html
windows环境(我个人的)
第一步
解压php-sdk-binary-tools的二进制包,譬如我解压到我的
C:\php-sdk
文件夹中,现在的目录结构如下
然后,这个是你已经安装完成了visual studio 2012,打开
VS2012 Native Tools Command Prompt
命令行工具
如果我们打开
bin\phpsdk_buildtree.bat
文件就会发现它只创建到VC9,没有VC11,但是我们如果开发php5.5版本,我们需要的是VC11,这时候我们就要把C:\php-sdk\phpdev\vc9
复制一份到C:\php-sdk\phpdev\vc11
,现在的目录结构如下:
因为我下载的
deps-5.5-vc11-x86.7z
,所以我要解压deps-5.5-vc11-x86.7z
到C:\php-sdk\phpdev\vc11\x86\deps
文件夹下覆盖,里边都是我们需要的库文件和一些必要的工具等等。然后,将我们下载的
php-5.5.20.tar.bz2
解压到C:\php-sdk\phpdev\vc11\x86\php-5.5.20
文件夹中。
编译安装php
回到
VS2012 Native Tools Command Prompt
如果你没有安装php,现在这里就帮助到你了,可以先编译安装一下php
然后,你会看到
Type 'nmake' to build PHP
,然后编译
在
C:\php-sdk\phpdev\vc11\x86\php-5.5.20\Release_TS
文件夹下就生成了php.exe
文件,环境变量中加入这个路径,好在命令行中能使用php
命令。
开发PHP的第一个扩展
假如我们要开发一个
widuu()
函数,实现的效果如下
进入扩展目录,生成扩展文件夹
这时候我们在
C:\php-sdk\phpdev\vc11\x86\php-5.5.20\ext
就看到了自己的目录widuuweb,打开widuuweb\php_widuuweb.h
,在
打开
php_widuuweb.c
编写函数,在PHP_FUNCTION(confirm_widuuweb_compiled)
下
然后找到
PHP_FE(confirm_widuuweb_compiled, NULL)
,在下边注册你的函数
修改
C:\php-sdk\phpdev\vc11\x86\php-5.5.20\ext\widuuweb\config.w32
,去掉
前边的注释,vs命令行,输入
cd ..
到php-5.5.20
目录中,输入下面的命令
如果,有错误,大家可以打开,目录下configure.js查看,我这个出现了错误,是configure.js的4791行,
多了一个
*/
的注释,去掉就可以了,然后再输入
就看到了,有一行
然后配置
其中
--enable-widuuweb=shared
动态扩展,正好与静态扩展相对。
然后输入
nmake
,完成后,我们在C:\php-sdk\phpdev\vc11\x86\php-5.5.20\Release_TS
目录下就发现了php_widuuweb.dll
文件,可以放到环境中测试了。如果你本地没有安装php环境,而是跟我一样只是编译了php,如果测试,我建议静态编译看效果
然后,你可以再
Release_TS
目录下,输入
ok,就说到这里,以后再慢慢来讲,有什么不懂的大家可以留言,基础的ZEND_API,大家可以去walu.cc查看
- windows开发php扩展
- Windows WAMP PHP 扩展开发
- PHP扩展开发—windows
- PHP Windows 扩展的开发(1)
- 在Windows上开发PHP扩展模块
- Windows下php扩展库C++开发
- Windows中搭建PHP扩展开发环境
- Windows下开发并编译PHP扩展
- 在Windows上开发PHP扩展模块
- Windows 下开发PHP扩展资源
- windows 上使用 zephir 开发php扩展
- Windows 下开发PHP扩展DLL
- Windows 下开发PHP 扩展笔记
- PHP扩展开发—windows开发环境搭建
- windows下PHP扩展
- 在Windows环境下进行PHP扩展的开发
- windows下开发PHP扩展(无需Cygwin)
- windows下开发PHP扩展dll(无需Cygwin)
- 二进制小数
- 初识okHttp
- 跟我一起写Makefile(3)--- make如何工作+makefile使用变量
- poj 1035 Spell checker
- POJ 1261 Period KMP 周期-循环
- windows开发php扩展
- ACID原则
- 我的Android学习笔记(一)
- NYOJ-108 士兵杀敌(一)
- hbm.xml中一方<set>结点的inverse属性
- websocket聊天室
- HDU-5792-World is Exploding-树状数组
- windows 上使用 zephir 开发php扩展
- Pouring Rain