【问题标题】:php module: cannot open shared object file: No such file or directoryphp 模块:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2016-01-03 15:47:26
【问题描述】:

我正在尝试在我的服务器上安装 Saxon-C XSLT 解析器及其 PHP 模块,如下所述: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/

一切似乎都是正确的。我还仔细检查了所有路径是否存在。

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

在尝试了几个小时没有任何进展后,我真的希望有人可以在这里帮助我。也许解决方案很垃圾。我对必须编译的语言没有太多经验,因此我只能模糊地理解这里发生了什么。

在此先感谢您并致以最良好的祝愿。

【问题讨论】:

    标签: php makefile ld saxon php-extension


    【解决方案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。

    【讨论】:

    • 注意:您的 JVM 路径或可能与我的描述不同
    • 感谢您的帮助,但我知道您引用的故障排除部分,它与我上面提到的页面相同,而且他们谈论的是我得到的另一个错误。此外,我仍然尝试了这两件事,但它没有帮助:(
    • 你把libsaxon.so放在'/usr/lib'目录下了吗?我认为这可能是问题所在。在 0.3.1 版本中,libsaxon.so 的位置被硬编码到该位置。我们已更改为在下一版本中使用环境变量。
    • 很高兴知道,我把它放在 /usr/lib64 和 /usr/local/lib 下。谢谢!在建立到 /usr/lib 的符号链接后,php 模块现在被加载。但不幸的是,当我想实例化 SaxonProcessor 时,我得到一个分段错误,没有任何进一步的信息......
    • 请您发布代码。还要从日志文件中发布错误,该错误应该显示出了什么问题。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-12
        • 2018-11-26
        • 2019-11-27
        • 2020-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多