Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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_Makefile_Ld_Saxon_Php Extension - Fatal编程技术网

php模块:无法打开共享对象文件:没有此类文件或目录

php模块:无法打开共享对象文件:没有此类文件或目录,php,makefile,ld,saxon,php-extension,Php,Makefile,Ld,Saxon,Php Extension,我正在尝试在我的服务器上安装Saxon-C XSLT解析器及其PHP模块,如下所述:。我成功地安装了它并编译了PHP模块。也许你们中的某个人有个想法,出了什么问题 启动apache时,出现以下错误: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/saxon.so' - libsaxon.so: cannot open shared object file: No such fi

我正在尝试在我的服务器上安装Saxon-C XSLT解析器及其PHP模块,如下所述:。我成功地安装了它并编译了PHP模块。也许你们中的某个人有个想法,出了什么问题

启动apache时,出现以下错误:

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/saxon.so' - 
libsaxon.so: cannot open shared object file: No such file or directory in Unknown on line 0
我知道它正在查找LD图书馆

more /etc/ld.so.conf.d/jetvm.conf
/opt/saxon/rt/lib/amd64
/opt/saxon/rt/lib/amd64/jetvm

tail -n 1 /etc/apache2/envvars
export LD_LIBRARY_PATH=/opt/saxon/rt/lib/amd64:/opt/saxon/rt/lib/amd64/jetvm:$LD_LIBRARY_PATH

echo $LD_LIBRARY_PATH
/opt/saxon/rt/lib/amd64:/opt/saxon/rt/lib/amd64/jetvm/
一切似乎都是对的。我还仔细检查了所有路径是否都存在

我已经检查了以下线程(以及更多线程),这对我没有帮助:

在尝试了几个小时没有任何进展后,我真的希望有人能在这里帮助我。也许解决办法很简单。我对需要编译的语言没有太多经验,因此我只能模糊地理解这里发生的事情

提前向您致谢并致以最良好的祝愿。

本指南提供了一些有关此问题的提示:

运行以下命令可以解决错误:“$sudo ldconfig”。或者创建指向java虚拟机的符号链接。安装/编译时不需要这样做,但PHP代码需要这样做。以下内容应可解决64位计算机上的问题:

ln-s$JAVA_HOME/jre/lib/amd64/server/libjvm.so/lib64/libjvm.so


或者,可以从rt/lib/jetjvm目录链接libjvm.so。

libsaxon.so文件必须安装在/usr/lib目录中。
在下一个版本中,我们将逐步使用环境变量。

在Saxon开发人员之一ond1的友好帮助下,我终于找到了解决方案。显然,有一些路径是硬编码的,因此,您必须忽略安装程序的问题:将文件放在何处并将其安装到/usr/lib


我卸载了以前的安装,安装到/usr/lib并从那里编译,现在它可以工作了。

注意:您到JVM的路径或可能与我的描述不同感谢您的帮助,但我知道您引用的故障排除部分,这是我上面提到的同一页,他们谈论的是我得到的一个不同的错误。此外,尽管我尝试了这两种方法,但都无济于事:(您是否将libsaxon.so放在了“/usr/lib”目录下?我想这可能是问题所在。在0.3.1版本中,libsaxon.so的位置是硬编码到该位置的。我们已更改为在下一版本中使用环境变量。很高兴知道,我将其放在了/usr/lib64和/usr/local/lib目录下。谢谢!在做了一个符号标记之后nk to/usr/lib php模块现在被加载。但不幸的是,当我想实例化Saxon处理器时,我遇到了一个分段错误,没有任何进一步的信息……请您发布代码。同时发布日志文件中的错误,该文件应该会显示出错误所在。