2013-10-19 189 views
0

我寫一個PHP擴展(我是新手)評估PHP代碼,現在我遇到一個奇怪的問題:在PHP擴展

有沒有辦法在字符串中PHP擴展評價PHP代碼?

例如bellow如果zname是「echo'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; 
} 

回答

2
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; 
} 

這應該爲你工作。

+1

@ user1495900歡迎:) –