Я создал расширение php на c ++. В версии php 5.6 можно получить подробную информацию о выполняемой функции.Я получал значение аргументов следующим образом:
if (real_execute_data->function_state.arguments)
{
void **p = real_execute_data->function_state.arguments;
int arg_count = (int)(zend_uintptr_t)* p;
zval *argument_element;
for (i = 0; i < arg_count; i++)
{
argument_element = (zval*)*(p - (arg_count - i));
// here can reads the value from argument_element
}
}
В версии Php 7.2 я не могу найти структуру function_state внутри Zend_execute_data. Я пытался использовать структуру _zend_arg_info, она дает имена переменных аргументов функции, а неценности.Как я могу получить значение аргументов функции в php 7 выше?