php中如何使用C语言写扩展
内容导读
收集整理的这篇技术教程文章主要介绍了php中如何使用C语言写扩展,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1762字,纯文字阅读大概需要3分钟。
内容图文
本篇文章给大家带来的内容是介绍如何使用C语言给PHP写扩展,,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。1、在php源码路径的ext文件夹下,新建一个extend_test.def文件,编辑文件内容为:
string my_test_function(string str,int n)
2、在当前目录执行
./ext_skel --extname=extend_test --proto=extend_test.def
其中,extname是扩展的名,proto是刚创建的文件,也可以用全路径
3、在当前目录下会生成extend_test文件夹,编辑extend_test文件夹下的config.m4
去掉一下三行的dnl的注释
PHP_ARG_ENABLE(extend_test, whether to enable extend_test support,Make sure that the comment is aligned:[ --enable-extend_test Enable extend_test support])
4、编辑extend_test文件夹下的extend_test.c文件
找到以下方法并修改
PHP_FUNCTION(my_test_function){ char *str = NULL; int argc = ZEND_NUM_ARGS(); size_t str_len; zend_long n; char *result; char *ptr; zend_long result_length; if (zend_parse_parameters(argc TSRMLS_CC, "sl", &str, &str_len, &n) == FAILURE) return; result_length = str_len * n; result = (char *) emalloc(result_length + 1); ptr = result; while (n--) { memcpy(ptr, str, str_len); ptr += str_len; } *ptr = '