Я пытаюсь создать расширение PHP для PHP 7.2, мне уже удалось создать для 5.6 в PHP 7.2 Я сделал необходимые изменения в коде на основе нового Zend API, но теперь я застрял в этой точкеЯ хочу вызвать пользовательскую функцию определения php из расширения.
Я пытался с помощью функции call_user_function_ex вызвать мою функцию определения пользователя.
zval *function_name, *retval_ptr, *param_file, **params[1];
TSRMLS_FETCH();
ZVAL_STRINGL(function_name, functionRequire,
strlen(functionRequire));
ZVAL_STRINGL(param_file, ranKey,
strlen(ranKey));
params[0] = ¶m_file;
php_printf("%s %s 1st",functionRequire,ranKey);
//RETURN_NULL();
if (call_user_function_ex(CG(function_table), NULL, function_name,
&retval_ptr, 1, params, 0, NULL TSRMLS_CC) != SUCCESS) {
php_printf("%s\n",contactInfo );
zend_error(E_ERROR, "Function call failed ");
RETURN_NULL();
}
php_printf("%s %s 2nd",functionRequire,ranKey);
RETURN_NULL();
FREE_ZVAL(function_nameCh);
FREE_ZVAL(function_name);
FREE_ZVAL(param_file);
Я пытался печатать значение после каждого оператора, после чего я понимаю, что он зависал при попытке вызвать функцию "call_user_function_ex".Я делаю что-то не так, но тот же код работает в PHP 5.6
Пожалуйста, помогите.