告诉 linux 二进制文件不加载特定的共享库

告诉 linux 二进制文件不加载特定的共享库

我的共享库有问题,命令每次运行时都会显示警告,

PHP Warning: PHP Startup: Unable to load dynamic library 'xxxx.so'

虽然它运行良好,没有问题,但我想libcrypto.so.1.0.0 => not found从列表中删除这一行,以便它不会查找此共享库。

ldd ...php/ext/curl.so
        linux-vdso.so.1 =>  (0x00007ffe1a65f000)
        libcurl.so.4 => /lib/libcurl.so.4 (0x00007fb9fdd8f000)
        libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0x00007fb9fdb1f000)
        libcrypto.so.1.0.0 => not found
        libc.so.6 => /lib64/libc.so.6 (0x00007fb9fd751000)
        libssl.so.1.1 => /lib/libssl.so.1.1 (0x00007fb9fd4c0000)
        libcrypto.so.1.1 => /lib/libcrypto.so.1.1 (0x00007fb9fcff7000)
        libldap-2.4.so.2 => /lib/libldap-2.4.so.2 (0x00007fb9fcdb5000)
        liblber-2.4.so.2 => /lib/liblber-2.4.so.2 (0x00007fb9fcba8000)
        libz.so.1 => /lib/libz.so.1 (0x00007fb9fc990000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb9fc774000)
        libcrypto.so.1.0.0 => not found
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fb9fc570000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fb9fe22e000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fb9fc356000)
        libcrypto.so.1.0.0 => not found

该怎么办 ?

答案1

在没有 SSL 加密库的情况下完全重新编译 php。

根据具体情况,这可能包括重写代码块,用于删除调用所述库提供的函数的任何引用。

或者:libssl按照 Alex 的建议安装。如何做过在当今时代,您是否能够在不同时安装所有正确依赖项的情况下安装 php?

答案2

安装 libssl1.0 和 libssl-dev 软件包。您不能只从二进制文件中删除所需的库。对于Ubuntu:

sudo apt install libssl1.0.0 libssl-dev

相关内容