我正在写一个 php 扩展(我是新手),现在我遇到了一个奇怪的问题:
Is there any way to evaluate php code in string INSIDE a php extension ?
例如,如果 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;
}
最佳答案
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;
}
这应该适合你。
关于php - 在 php 扩展中评估 php 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19466886/