Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从c/c++;将变量传递到用户空间范围的php扩展?_Php_C - Fatal编程技术网

如何从c/c++;将变量传递到用户空间范围的php扩展?

如何从c/c++;将变量传递到用户空间范围的php扩展?,php,c,Php,C,首先,我需要从PHP_FUNCTION()导入一个文件,并将C函数中的一些变量传递到用户空间中 例如: 包含一个文件 PHP\u函数(包含一个PHP\u文件) { zval*var_to_用户空间; char*str; str=“字符串发送到用户空间”; ZVAL_字符串(var_到_用户空间,str,0); php_require_once(“a_file.php”);// 尝试调用zend\u compile\u string(): 这将返回指向zend_op_arraystruct的指针,

首先,我需要从PHP_FUNCTION()导入一个文件,并将C函数中的一些变量传递到用户空间中

例如:

包含一个文件

PHP\u函数(包含一个PHP\u文件)
{
zval*var_to_用户空间;
char*str;
str=“字符串发送到用户空间”;
ZVAL_字符串(var_到_用户空间,str,0);
php_require_once(“a_file.php”);//

尝试调用
zend\u compile\u string()

这将返回指向
zend_op_array
struct的指针,它将保存代码的zend操作码。 因此,您可以只转储这些操作码一次,然后自己在程序中创建
zend_op_array
struct。

php7.x


eval()不会太慢吗?您有使用zend_compile_字符串的示例吗?
zval nop;
ZVAL_STRINGL(&nop, "return ;", 8, 0);
zend_compile_string(&nop, "NOP" TSRMLS_CC);
zval nop;
ZVAL_STRINGL(&nop, "return ;", 8, 0);
zend_compile_string(&nop, "NOP");