在php扩展中评估php代码

在php扩展中评估php代码,php,c,php-extension,Php,C,Php Extension,我正在编写一个php扩展(我是新手),现在我遇到了一个奇怪的问题: 有没有办法在php扩展中以字符串形式计算php代码 例如,如果zname是“echo'hello'”;“它将打印hello 不是回应“你好” 提前谢谢 PHP_FUNCTION(hello_greetme) { zval *zname; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zname) == FAILURE) {

我正在编写一个php扩展(我是新手),现在我遇到了一个奇怪的问题:

有没有办法在php扩展中以字符串形式计算php代码

例如,如果zname是“echo'hello'”;“它将打印hello 不是回应“你好”

提前谢谢

PHP_FUNCTION(hello_greetme)
{
    zval *zname;

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &zname) == FAILURE) {
        RETURN_NULL();
    }

    convert_to_string(zname);
    php_printf("Hello ");
    PHPWRITE(Z_STRVAL_P(zname), Z_STRLEN_P(zname));
    php_printf("\n");


    RETURN_TRUE;
}
这应该对你有用

这应该对你有用

这应该对你有用


这应该适合您。

@user1495900欢迎:)@user1495900欢迎:)@user1495900欢迎:)@user1495900欢迎:)@user1495900欢迎:)
int eval_php_code(char *code) {
    int ret = 0;

    zend_try {
        ret = zend_eval_string(code, NULL, (char *)"" TSRMLS_CC);
    } zend_catch {

    } zend_end_try();

    return ret == FAILURE;
}