首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php扩展内调用方法的分割错误

php扩展内调用方法的分割错误
EN

Stack Overflow用户
提问于 2013-10-25 09:28:57
回答 1查看 225关注 0票数 0

我试图将一些数据传递给一个存储在zval中的对象,该对象在php扩展名中包含以下代码,然后收到分段错误错误。

核心:注意AH00052:子pid 8649退出信号分割故障(11)

有没有人能帮助我理解为什么我会得到这个错误,以及调用对象方法的正确方法是什么?

谢谢!

代码语言:javascript
复制
    //create zval with the data
    zval *zbuffer;
    MAKE_STD_ZVAL(zbuffer);
    ZVAL_STRINGL(zbuffer, WS_G(buffer), WS_G(bufferLen), 1);

    ///push data in object
    zval *retval_ptr;
    zend_call_method( *WS_G(zobj), ce, NULL, "push",  strlen("push"),  &retval_ptr, 1, zbuffer, NULL TSRMLS_CC );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 11:13:51

问题似乎在于我是如何创建zbuffer的--正确的代码是:

代码语言:javascript
复制
    zval *zbuffer;
    MAKE_STD_ZVAL(zbuffer);
    Z_TYPE_P(zbuffer) = IS_STRING;
    Z_STRVAL_P(zbuffer) = WS_G(buffer);
    Z_STRLEN_P(zbuffer) = WS_G(bufferLen);

谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19586068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档