【发布时间】:2019-04-22 21:33:45
【问题描述】:
我在 c++ 中创建了一个 php 扩展,它跟踪每个请求的调用图(centos7-64 位,PHP5.6)。现在,我想获取每个请求的函数 返回值功能。 可以通过使用zend_excute_data结构(original_return_value)来完成。
zend_execute_data *data;
data = EG(current_execute_data);
if(data->original_return_value)
{
zval *rvalue = *(data->original_return_value); // crashing here
switch (Z_TYPE(argument_element))
{
..
..
..
}
}
在这里,将 original_return_value 分配给 rvalue 时,我的 php 扩展程序崩溃了。 这是正确的做法吗?或其他任何东西。
【问题讨论】:
-
我也尝试了 EG(return_value_ptr_ptr) 全局,但还是没有。
标签: php php-extension php-internals