我正在尝试使用它的PHP模块在我的服务器上安装Saxon-C XSLT解析器,如下所述:http://www.saxonica.com/saxon-c/index.xml。我成功安装并编译了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/
一切似乎都是对的。我还仔细检查了所有路径是否存在。
我已经检查了以下主题(以及更多内容),这对我无能为力:
经过几个小时没有任何进展我真的希望,有人可以帮助我。也许这个解决方案很糟糕。我对必须编译的语言没有多少经验,因此我只能模糊地理解这里发生了什么。
提前多多感谢并祝福。
答案 0 :(得分:1)
troubleshooting指南提供了一些有关此问题的提示:
运行以下命令应解决错误:“$ sudo ldconfig”。或者,为java虚拟机创建一个符号链接。这不是安装/编译所必需的,但它是PHP代码所必需的。以下应解决64位计算机上的问题:
ln -s $ JAVA_HOME / jre / lib / amd64 / server / libjvm.so /lib64/libjvm.so
或者,可以从rt / lib / jetjvm目录链接libjvm.so。
答案 1 :(得分:0)
libsaxon.so文件必须安装在/ usr / lib目录中。 我们正在下一个版本中使用环境变量。
答案 2 :(得分:0)
在撒克逊的开发者之一ond1的友好帮助下,我终于找到了解决方案。显然有一些路径是硬编码的,你必须忽略安装程序的问题,把文件放在哪里并将其安装到/ usr / lib。
我卸载了以前的安装,安装到/ usr / lib并从那里进行了编译 - 现在它可以正常工作。