windows下配置php5.5开发环境及开发扩展
《:windows下配置php5.5开发环境及开发扩展》要点: 网上的教程是比较多的,但是我发现在windows下的扩展开发比较少,而且大多都是php5.3版本以前的,今天我就给大家讲解一下php扩展开发,我就拿php5.5的版本来说明一下的了PHP应用 windows环境(我个人的)
代码如下:
windows 8.1 企业版(mac os Boot Camp安装的) Visual Studio 2012 版本 msysgit? (http://msysgit.github.io/ 下载) php-sdk-binary-tools-20110915.zip (http://windows.php.net/downloads/php-sdk/下载) deps-5.5-vc11-x86.7z????????????????? (http://windows.php.net/downloads/php-sdk/下载) php-5.5.20??????????????????????? (http://php.net/downloads.php下载,这个版本不定自己选择) 第一步
代码如下:
C:php-sdk ??? --bin ??? --script ??? --share 然后,这个是你已经安装完成了visual studio 2012,打开VS2012 Native Tools Command Prompt命令行工具
代码如下:
#进入目录 cd C:php-sdk #设置环境变量 binphpsdk_setvars.bat #创建常用的php-sdk目录 binphpsdk_buildtree.bat phpdev 如果我们打开binphpsdk_buildtree.bat文件就会发现它只创建到VC9,没有VC11,但是我们如果开发php5.5版本,我们需要的是VC11,这时候我们就要把C:php-sdkphpdevvc9复制一份到C:php-sdkphpdevvc11,现在的目录结构如下:
代码如下:
C:php-sdkphpdev ??????????????? --vc6 ??????????????? --vc8 ??????????????? --vc9 ??????????????? --vc11 因为我下载的deps-5.5-vc11-x86.7z,所以我要解压deps-5.5-vc11-x86.7z到C:php-sdkphpdevvc11x86deps文件夹下覆盖,里边都是我们需要的库文件和一些必要的工具等等. 编译安装php 回到VS2012 Native Tools Command Prompt 如果你没有安装php,现在这里就赞助到你了,可以先编译安装一下php 开发PHP的第一个扩展 假如我们要开发一个widuu()函数,实现的效果如下
代码如下:
function widuu($string){ ??? return "your first extension {$string} is ok"; } 进入扩展目录,生成扩展文件夹
代码如下:
cd C:php-sdkphpdevvc11x86php-5.5.20ext #输入php ext_skel_win32.php --extname=扩展名称 php ext_skel_win32.php --extname=widuuweb 这时候我们在C:php-sdkphpdevvc11x86php-5.5.20ext就看到了自己的目录widuuweb,打开widuuwebphp_widuuweb.h,在 #PHP_MINFO_FUNCTION(widuuweb);下一行写入自己的函数,譬如我定义的是widuu()函数 PHP_FUNCTION(widuu); 打开php_widuuweb.c编写函数,在PHP_FUNCTION(confirm_widuuweb_compiled)下
代码如下:
PHP_FUNCTION(widuu){ ??? char *arg_string = NULL; ??? int? arg_len,str_len; ??? char *string; ??? if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC,"s",&arg_string,&arg_len) == FAILURE){ ??????? return; ??? } ??? str_len = spprintf(&string,"your first extension %.78s is ok",arg_string); ??? RETURN_STRINGL(string,str_len,0); } 然后找到PHP_FE(confirm_widuuweb_compiled,NULL),在下边注册你的函数
代码如下:
const zend_function_entry widuuweb_functions[] = { ??? PHP_FE(confirm_widuuweb_compiled,?? NULL)?????? /* For testing,remove later. */ ??? PHP_FE(widuu,NULL) ??? PHP_FE_END? /* Must be the last line in widuuweb_functions[] */ }; 修改C:php-sdkphpdevvc11x86php-5.5.20extwiduuwebconfig.w32,去掉 其中--enable-widuuweb=shared动态扩展,正好与静态扩展相对. 编程之家培训学院每天发布《:windows下配置php5.5开发环境及开发扩展》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |