php中定义类并且实例化,PHP扩展中如何获得并实例化PHP空间定义的类?

PHP扩展中如何获得并实例化PHP空间定义的类?

我的代码是这样的

zval *obj;

MAKE_STD_ZVAL(obj);

zend_class_entry *foo_ce;

//hashtable_foreach_print(EG(class_table));

if( zend_hash_find( EG(class_table), "foo", sizeof("foo"), (void **)&foo_ce ) == SUCCESS ){

printf("get foo success\n");

object_init_ex(obj, foo_ce);

} else {

printf("get class failed\n");

}

printf("haloeffesfes");

但是执行到object_init_ex的时候报错了!GDB调试的结果是:

#0 0x0000000000925038 in zend_hash_apply_deleter (ht=0xfac750, p=0x120b980) at /root/php-5.5.38/Zend/zend_hash.c:619

#1 0x00000000009257b2 in zend_hash_reverse_apply (ht=0xfac750, apply_func=0x8fe67f ) at /root/php-5.5.38/Zend/zend_hash.c:804

#2 0x00000000008fec25 in shutdown_executor () at /root/php-5.5.38/Zend/zend_execute_API.c:300

#3 0x000000000091297d in zend_deactivate () at /root/php-5.5.38/Zend/zend.c:946

#4 0x000000000088c26f in php_request_shutdown (dummy=0x0) at /root/php-5.5.38/main/main.c:1813

#5 0x00000000009bc433 in do_cli (argc=2, argv=0xfabb10) at /root/php-5.5.38/sapi/cli/php_cli.c:1177

#6 0x00000000009bcabb in main (argc=2, argv=0xfabb10) at /root/php-5.5.38/sapi/cli/php_cli.c:1378

这如何解决?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值