windows下配置php5.5开发环境及开发扩展
|
网上的教程是比较多的,但是我发现在windows下的扩展开发比较少,而且大多都是php5.3版本以前的,今天我就给大家讲解一下php扩展开发,我就拿php5.5的版本来说明一下的了 windows环境(我个人的)代码如下: 第一步解压php-sdk-binary-tools的二进制包,譬如我解压到我的C:php-sdk文件夹中,现在的目录结构如下代码如下: 然后,这个是你已经安装完成了visual studio 2012,打开VS2012 Native Tools Command Prompt命令行工具 代码如下: 如果我们打开binphpsdk_buildtree.bat文件就会发现它只创建到VC9,没有VC11,但是我们如果开发php5.5版本,我们需要的是VC11,这时候我们就要把C:php-sdkphpdevvc9复制一份到C:php-sdkphpdevvc11,现在的目录结构如下: 代码如下: 因为我下载的deps-5.5-vc11-x86.7z,所以我要解压deps-5.5-vc11-x86.7z到C:php-sdkphpdevvc11x86deps文件夹下覆盖,里边都是我们需要的库文件和一些必要的工具等等。 然后,将我们下载的php-5.5.20.tar.bz2解压到C:php-sdkphpdevvc11x86php-5.5.20文件夹中。 编译安装php回到VS2012 Native Tools Command Prompt #进入php源目录文件夹 cd c:php-sdkphpdevvc11x86php-5.5.20 buildconf #查看带的扩展和编译命令 configure --help php-sdk 如果你没有安装php,现在这里就帮助到你了,可以先编译安装一下php configure --disable-all --enable-cli 然后,你会看到Type 'nmake' to build PHP,然后编译 nmake 在C:php-sdkphpdevvc11x86php-5.5.20Release_TS文件夹下就生成了php.exe文件,环境变量中加入这个路径,好在命令行中能使用php命令。 开发PHP的第一个扩展假如我们要开发一个widuu()函数,实现的效果如下 代码如下: 进入扩展目录,生成扩展文件夹 代码如下: 代码如下: 然后找到PHP_FE(confirm_widuuweb_compiled,NULL),在下边注册你的函数 代码如下: 修改C:php-sdkphpdevvc11x86php-5.5.20extwiduuwebconfig.w32,去掉 // ARG_ENABLE("widuuweb","enable widuuweb support","no"); 前边的注释,vs命令行,输入cd .. 到php-5.5.20目录中,输入下面的命令 buildconf --force #查看扩展 configure --help 如果,有错误,大家可以打开,目录下configure.js查看,我这个出现了错误,是configure.js的4791行, ARG_ENABLE("widuuweb","no"); */ 多了一个*/的注释,去掉就可以了,然后再输入 configure --help 就看到了,有一行 --enable-widuuweb enable widuuweb support 然后配置 configure --disable-all --enable-cli --enable-widuuweb=shared php动态扩展 其中--enable-widuuweb=shared动态扩展,正好与静态扩展相对。 然后输入nmake,完成后,我们在C:php-sdkphpdevvc11x86php-5.5.20Release_TS目录下就发现了php_widuuweb.dll文件,可以放到环境中测试了。 如果你本地没有安装php环境,而是跟我一样只是编译了php,如果测试,我建议静态编译看效果 configure --disable-all --enable-cli --enable-widuuweb=static nmake 然后,你可以再Release_TS目录下,输入 php -r "echo widuu('widuu');" //输出"your first extension widuu is ok" ok,就说到这里,以后再慢慢来讲,有什么不懂的大家可以留言,基础的ZEND_API,大家可以去walu.cc查看 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 获取Windows代理用户名/密码
- .net – Windows Azure上的AspPDF和AspJPEG
- libglog.dll CMake 在Windows上编译、应用glog
- 在Windows下的Java应用程序中编写C控制台应用程序
- windows – 如何为非Qt应用程序创建Qt共享库
- wcf – 有关替换Microsoft .NET的Web服务增强功能(WSE)3.0的
- Windows – 如何将多个文件名传递给上下文菜单Shell命令?
- wix – 安装MSI时可能导致错误2902的原因是什么?
- 使用window.performance分析web前端性能
- windows – 带双引号参数的exec
