无法加载动态库'mongodb.so' - 未定义的符号:OPENSSL_sk_num

时间:2016-12-22 06:48:45

标签: mongodb ssl openssl centos7 php-openssl

我正在尝试在CentOS 7.3上使用Apache / 2.4.6加载mongodb.so模块,这些命令会告诉你更多关于我到目前为止安装的软件包的版本。

[root@SRVKL-04 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 14 2016 18:04:44

[root@SRVKL-04 log]# php -v
PHP 5.5.38 (cli) (built: Jul 21 2016 12:25:20)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies


[root@SRVKL-04 ~]# vim /etc/centos-release
CentOS Linux release 7.3.1611 (Core)


[root@SRVKL-04 ~]# mongod --version
db version v3.4.1
git version: 5e103c4f5583e2566a45d740225dc250baacfbd7
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
    distmod: rhel70
    distarch: x86_64
    target_arch: x86_64


[root@SRVKL-04 log]# openssl version
OpenSSL 1.1.1-dev  xx XXX xxxx


[root@SRVKL-04 log]# rpm -qa | grep -i openssl
openssl-libs-1.0.1e-60.el7.i686
openssl-libs-1.0.1e-60.el7.x86_64
openssl-1.0.1e-60.el7.x86_64
xmlsec1-openssl-1.2.20-5.el7.x86_64
openssl-devel-1.0.1e-60.el7.x86_64


[root@SRVKL-04 log]# ldd /usr/lib64/php/modules/mongodb.so
        linux-vdso.so.1 =>  (0x00007ffd877fa000)
        libssl.so.10 => /lib64/libssl.so.10 (0x00007feea6d57000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007feea696d000)
        librt.so.1 => /lib64/librt.so.1 (0x00007feea6764000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007feea6548000)
        libc.so.6 => /lib64/libc.so.6 (0x00007feea6187000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007feea5f38000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007feea5c51000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007feea5a4d000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007feea581a000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007feea5616000)
        libz.so.1 => /lib64/libz.so.1 (0x00007feea5400000)
        /lib64/ld-linux-x86-64.so.2 (0x00007feea72a9000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007feea51f0000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007feea4fec000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007feea4dd2000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007feea4baa000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007feea4949000)

每当我尝试启动httpd(apachectl restart)时,我会在日志中收到以下错误消息:

[Thu Dec 22 11:08:39.031739 2016] [suexec:notice] [pid 24770] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::250:56ff:feb9:483f. Set the 'ServerName' directive globally to suppress this message
[Thu Dec 22 11:08:39.051342 2016] [auth_digest:notice] [pid 24770] AH01757: generating secret for digest authentication ...
[Thu Dec 22 11:08:39.051857 2016] [lbmethod_heartbeat:notice] [pid 24770] AH02282: No slotmem from mod_heartmonitor
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mongodb.so' - /usr/lib64/php/modules/mongodb.so: undefined symbol: OPENSSL_sk_num in Unknown on line 0
[Thu Dec 22 11:08:39.067134 2016] [mpm_prefork:notice] [pid 24770] AH00163: Apache/2.4.6 (CentOS) PHP/5.5.38 configured -- resuming normal operations
[Thu Dec 22 11:08:39.067158 2016] [core:notice] [pid 24770] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

由于问题与OPENSSL有关,我已发布OpenSSL recompilation issue on their GitHub page了解更多详情。

如果我用mongo替换mongodb,则错误会更改为this post

问题是我错过了什么?这是兼容性问题吗?

0 个答案:

没有答案