声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。 http://imsiren.com/archives/568 PHP写扩展.. 如果您还么有读 原:用C/C++扩展PHP 建议您先看一下这篇文章.. 今天来个简单的..我们用扩展方式创建一个变量 $siren. 然后在PHP文件里面输
声明:本文为斯人原创,全部为作者一一分析得之,有不对的地方望赐教。
因为我的系统是Linux所以要修改此文件,我们采用so模块的形式加载,所以编辑config.m4文件
dnl PHP_ARG_WITH(siren, for siren support, dnl Make sure that the comment is aligned: dnl [ --with-siren Include siren support])
3.编辑php_siren.h
此文件是一个头文件,包含了我们函数的定义.
我要新建一个variable函数,首先需要在此文件里面加一行代码:PHP_FUNCTION(variable); 可以理解为声明一个函数
4.修改siren.c源文件
在siren_functions数组里面添加一行 PHP_FE(variable,NULL);
然后在 最下面添加如下代码
PHP_FUNCTION(variable){ zval* val; MAKE_STD_ZVAL(val); ZVAL_STRING(val,"this is siren",1); ZEND_SET_SYMBOL(EG(active_symbol_table),"siren",val); }
const char *__s=(s); \ Z_STRLEN_P(z) = strlen(__s); \ Z_STRVAL_P(z) = (duplicate?estrndup(__s, Z_STRLEN_P(z)):(char*)__s);\ Z_TYPE_P(z) = IS_STRING;