【问题标题】:xapian on CentOS 6 with PHP 5.3+Xapian 在 CentOS 6 上使用 PHP 5.3+
【发布时间】:2012-01-08 23:54:44
【问题描述】:

我有一个安装了 CentOS 6 和 PHP 5.3 的 64 位服务器

php-5.3.2-6.el6_0.1.x86_64

我已经使用他们网站上的 RPM 安装了 xapian

rpm-eprints-org-xapian-6-1.noarch
xapian-bindings-php-1.2.7-1.x86_64
xapian-core-libs-1.2.7-1.x86_64
xapian-bindings-1.2.7-1.x86_64
xapian-core-1.2.7-1.x86_64

现在,当我尝试通过 Apache 从 PHP 使用 xapian 库时,我收到此错误:

在第 22 行的 /usr/share/php/xapian.php 中调用未定义函数 dl()

经过一些 Google 搜索后,我发现 dl() 不再适用于 PHP 5.3+。我在php.ini 中启用了enable_dl,没有做任何事情。我无法在任何地方找到解决此问题的任何方法。我猜现在用 CentOS 6 的人不多吧?

我能做什么?

【问题讨论】:

    标签: php centos xapian centos6


    【解决方案1】:

    由于xapian-bindings 是一个 PHP 扩展,您可以通过将以下内容添加到您的 php.ini 来加载它:

    extension = xapian.so
    

    顺便说一句。 dl-manual 表示 dl 只是对某些“SAPI”禁用(显然 mod_php 就是其中之一)。

    另一种选择是尝试 php-cgi。

    【讨论】:

    • 感谢您的回答,我已将该行添加到 php.ini。但是它产生了这个错误 PHP 警告:PHP 启动:无法加载动态库 '/usr/lib64/php/modules/xapian.so' - /usr/lib64/php/modules/xapian.so:未定义符号:zend_error_noreturn in Unknown在第 0 行
    • 您的扩展似乎是为 php 5.1 或 5.2 构建的。 This SO-question might give you a clue on how to resolve this 虽然您可能必须手动编译扩展。
    猜你喜欢
    • 1970-01-01
    • 2012-01-30
    • 1970-01-01
    • 2013-06-11
    • 2013-07-11
    • 2011-05-18
    • 2017-08-19
    • 2014-03-13
    相关资源
    最近更新 更多