특정 공유 라이브러리를 로드하지 않도록 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를 완전히 다시 컴파일합니다.

상황에 따라 여기에는 다음이 포함될 수 있습니다.고쳐 쓰기해당 라이브러리에서 제공하는 호출 함수에 대한 참조를 제거하는 코드 블록입니다.

또는: libsslAlex가 제안한 대로 설치하십시오. 어떻게했다오늘날 올바른 종속성을 모두 설치하지 않고도 PHP를 설치할 수 있습니까?

답변2

libssl1.0 및 libssl-dev 패키지를 설치합니다. 바이너리에서 필요한 라이브러리를 제거할 수는 없습니다. 우분투의 경우:

sudo apt install libssl1.0.0 libssl-dev

관련 정보