Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.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
PHP嵌入共享库未加载任何扩展_Php_C - Fatal编程技术网

PHP嵌入共享库未加载任何扩展

PHP嵌入共享库未加载任何扩展,php,c,Php,C,我有一个类似的问题。不确定他是否正在使用嵌入编写共享库。但我的问题是当“运行”我构建的共享库时。作为可执行文件加载扩展。但不是作为共享库(.so)。我所有的扩展都失败了。它们都在指定的位置 Failed loading /usr/lib/php5/20121212/opcache.so: /usr/lib/php5/20121212/opcache.so: undefined symbol: zend_ini_boolean_displayer_cb PHP Warning: PHP Sta

我有一个类似的问题。不确定他是否正在使用嵌入编写共享库。但我的问题是当“运行”我构建的共享库时。作为可执行文件加载扩展。但不是作为共享库(.so)。我所有的扩展都失败了。它们都在指定的位置

Failed loading /usr/lib/php5/20121212/opcache.so:  /usr/lib/php5/20121212/opcache.so: undefined symbol: zend_ini_boolean_displayer_cb
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/oci8.so' - /usr/lib/php5/20121212/oci8.so: undefined symbol: OnUpdateLong in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pdo.so' - /usr/lib/php5/20121212/pdo.so: undefined symbol: compiler_globals in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pdo_oci.so' - /usr/lib/php5/20121212/pdo_oci.so: undefined symbol: php_info_print_table_start in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pdo.so' - /usr/lib/php5/20121212/pdo.so: undefined symbol: compiler_globals in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pdo_oci.so' - /usr/lib/php5/20121212/pdo_oci.so: undefined symbol: php_info_print_table_start in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/oci8.so' - /usr/lib/php5/20121212/oci8.so: undefined symbol: OnUpdateLong in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/curl.so' - /usr/lib/php5/20121212/curl.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/json.so' - /usr/lib/php5/20121212/json.so: undefined symbol: zend_new_interned_string in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/readline.so' - /usr/lib/php5/20121212/readline.so: undefined symbol: OnUpdateString in Unknown on line 0
通过“未定义符号”警告的声音,它显然缺少与环境相关的内容。Zend库或未加载以处理加载扩展的东西

下面的代码正是我在.so文件中使用的代码,只是main被重命名了。我猜是在某个地方。因此,需要进行环境设置:

#include <stdio.h>
#include <stdlib.h>
#include "/usr/include/php/sapi/embed/php_embed.h"

int main( int argc, char *argv[] )
{       
    char *filename = "/path/to/php/test.php";
    argc--;
    argv++;

    PHP_EMBED_START_BLOCK(argc,argv)

        zval zoutput;
        char *include_file;     

        spprintf( &include_file, 0, "include '%s';", filename  );
        zend_eval_string( include_file, &zoutput, filename TSRMLS_CC );
        efree(include_file);

    PHP_EMBED_END_BLOCK()

    return 0;

}
#包括
#包括
#include“/usr/include/php/sapi/embed/php_embed.h”
int main(int argc,char*argv[])
{       
char*filename=“/path/to/php/test.php”;
argc--;
argv++;
PHP_嵌入_开始_块(argc,argv)
zval zoutput;
字符*包括_文件;
spprintf(包括文件,0,“包括“%s”;文件名)(&include_文件);
zend_eval_字符串(包括_文件和zoutput、文件名TSRMLS_CC);
efree(包括_文件);
PHP_嵌入_结束_块()
返回0;
}
任何帮助都将不胜感激。谢谢