AWS EC2 Linux AMI에서 PCRE 라이브러리 업그레이드

AWS EC2 Linux AMI에서 PCRE 라이브러리 업그레이드

AWS EC2 Linux 인스턴스의 기본 PCRE 라이브러리를 업데이트하고 싶습니다. 현재 버전은 8.21 2011-12-12입니다.

다음 가이드를 시도했습니다.

https://forums.aws.amazon.com/thread.jspa?threadID=234930 https://www.mediawiki.org/wiki/Updating_to_PCRE_8.33_or_Higher

설치에 성공했지만( make check모든 OK 테스트 반환) PHP가 여전히 올바른 버전의 PCRE를 사용하지 않는 것 같습니다. 64비트 라이브러리를 사용하는 대신 32비트 라이브러리를 선호하는 가이드의 단계와 관련이 있는 것 같지만 link이를 해결하는 방법을 잘 모르겠습니다. 설치 후 Apache와 시스템을 다시 시작하십시오.

이 문제를 어떻게 처리해야 하는지 제안해 주실 수 있나요?

미리 감사드립니다

추가 정보

    $ uname -a
        Linux ip-10-0-3-82 4.9.75-25.55.amzn1.x86_64 #1 SMP Fri Jan 5 23:50:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

    $ sudo yum install pcre
        Loaded plugins: priorities, update-motd, upgrade-helper
        amzn-main                                                                                                                                                    | 2.1 kB  00:00:00     
        amzn-updates                                                                                                                                                 | 2.5 kB  00:00:00     
        Package pcre-8.21-7.7.amzn1.x86_64 already installed and latest version
        Nothing to do

    $ pcretest -C
        PCRE version 8.41 2017-07-05
        Compiled with
          8-bit support
          UTF-8 support
          16-bit support
          UTF-16 support
          32-bit support
          UTF-32 support
          Unicode properties support
          No just-in-time compiler support
          Newline sequence is LF
          \R matches all Unicode newlines
          Internal link size = 2
          POSIX malloc threshold = 10
          Parentheses nest limit = 250
          Default match limit = 10000000
          Default recursion depth limit = 10000000
          Match recursion uses stack

    $ ldd /usr/bin/php
            linux-vdso.so.1 =>  (0x00007ffe23d73000)
            libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007ff4cd67f000)
            libresolv.so.2 => /lib64/libresolv.so.2 (0x00007ff4cd465000)
            libedit.so.0 => /usr/lib64/libedit.so.0 (0x00007ff4cd236000)
            libncurses.so.5 => /lib64/libncurses.so.5 (0x00007ff4cd010000)
            libtinfo.so.5 => /lib64/libtinfo.so.5 (0x00007ff4ccdef000)
            libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ff4cca6c000)
            libz.so.1 => /lib64/libz.so.1 (0x00007ff4cc856000)
            libpcre.so.0 => /lib64/libpcre.so.0 (0x00007ff4cc5fe000)
            librt.so.1 => /lib64/librt.so.1 (0x00007ff4cc3f6000)
            libm.so.6 => /lib64/libm.so.6 (0x00007ff4cc0f4000)
            libdl.so.2 => /lib64/libdl.so.2 (0x00007ff4cbef0000)
            libnsl.so.1 => /lib64/libnsl.so.1 (0x00007ff4cbcd7000)
            libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007ff4cb96f000)
            libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2 (0x00007ff4cb722000)
            libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00007ff4cb43a000)
            libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3 (0x00007ff4cb207000)
            libcom_err.so.2 => /usr/lib64/libcom_err.so.2 (0x00007ff4cb004000)
            libssl.so.10 => /lib64/libssl.so.10 (0x00007ff4cad93000)
            libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007ff4ca935000)
            libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ff4ca71f000)
            libc.so.6 => /lib64/libc.so.6 (0x00007ff4ca35b000)
            libfreebl3.so => /lib64/libfreebl3.so (0x00007ff4ca159000)
            /lib64/ld-linux-x86-64.so.2 (0x00007ff4cd8b6000)
            libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff4c9f3d000)
            liblzma.so.5 => /usr/lib64/liblzma.so.5 (0x00007ff4c9d19000)
            libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0 (0x00007ff4c9b0b000)
            libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007ff4c9908000)
            libselinux.so.1 => /usr/lib64/libselinux.so.1 (0x00007ff4c96e7000)

    $ ll -ll /lib64 | grep pcre
    lrwxrwxrwx 1 root root      16 Nov 20 22:11 libpcre.so.0 -> libpcre.so.0.0.1
    -rwxr-xr-x 1 root root  359688 May 27  2015 libpcre.so.0.0.1

$ sudo make install
    make  install-am
    make[1]: Entering directory `/home/ec2-user/pcre-8.41'
    make[2]: Entering directory `/home/ec2-user/pcre-8.41'
     /bin/mkdir -p '/usr/lib'
     /bin/sh ./libtool   --mode=install /usr/bin/install -c   libpcre.la libpcre16.la libpcre32.la libpcreposix.la libpcrecpp.la '/usr/lib'
    libtool: install: /usr/bin/install -c .libs/libpcre.so.1.2.9 /usr/lib/libpcre.so.1.2.9
    libtool: install: (cd /usr/lib && { ln -s -f libpcre.so.1.2.9 libpcre.so.1 || { rm -f libpcre.so.1 && ln -s libpcre.so.1.2.9 libpcre.so.1; }; })
    libtool: install: (cd /usr/lib && { ln -s -f libpcre.so.1.2.9 libpcre.so || { rm -f libpcre.so && ln -s libpcre.so.1.2.9 libpcre.so; }; })
    libtool: install: /usr/bin/install -c .libs/libpcre.lai /usr/lib/libpcre.la
    libtool: install: /usr/bin/install -c .libs/libpcre16.so.0.2.9 /usr/lib/libpcre16.so.0.2.9
    libtool: install: (cd /usr/lib && { ln -s -f libpcre16.so.0.2.9 libpcre16.so.0 || { rm -f libpcre16.so.0 && ln -s libpcre16.so.0.2.9 libpcre16.so.0; }; })
    libtool: install: (cd /usr/lib && { ln -s -f libpcre16.so.0.2.9 libpcre16.so || { rm -f libpcre16.so && ln -s libpcre16.so.0.2.9 libpcre16.so; }; })
    libtool: install: /usr/bin/install -c .libs/libpcre16.lai /usr/lib/libpcre16.la
    libtool: install: /usr/bin/install -c .libs/libpcre32.so.0.0.9 /usr/lib/libpcre32.so.0.0.9
    libtool: install: (cd /usr/lib && { ln -s -f libpcre32.so.0.0.9 libpcre32.so.0 || { rm -f libpcre32.so.0 && ln -s libpcre32.so.0.0.9 libpcre32.so.0; }; })
    libtool: install: (cd /usr/lib && { ln -s -f libpcre32.so.0.0.9 libpcre32.so || { rm -f libpcre32.so && ln -s libpcre32.so.0.0.9 libpcre32.so; }; })
    libtool: install: /usr/bin/install -c .libs/libpcre32.lai /usr/lib/libpcre32.la
    libtool: warning: relinking 'libpcreposix.la'
    libtool: install: (cd /home/ec2-user/pcre-8.41; /bin/sh "/home/ec2-user/pcre-8.41/libtool"  --silent --tag CC --mode=relink gcc -fvisibility=hidden -g -O2 -version-info 0:5:0 -o libpcreposix.la -rpath /usr/lib libpcreposix_la-pcreposix.lo libpcre.la )
    libtool: install: /usr/bin/install -c .libs/libpcreposix.so.0.0.5T /usr/lib/libpcreposix.so.0.0.5
    libtool: install: (cd /usr/lib && { ln -s -f libpcreposix.so.0.0.5 libpcreposix.so.0 || { rm -f libpcreposix.so.0 && ln -s libpcreposix.so.0.0.5 libpcreposix.so.0; }; })
    libtool: install: (cd /usr/lib && { ln -s -f libpcreposix.so.0.0.5 libpcreposix.so || { rm -f libpcreposix.so && ln -s libpcreposix.so.0.0.5 libpcreposix.so; }; })
    libtool: install: /usr/bin/install -c .libs/libpcreposix.lai /usr/lib/libpcreposix.la
    libtool: warning: relinking 'libpcrecpp.la'
    libtool: install: (cd /home/ec2-user/pcre-8.41; /bin/sh "/home/ec2-user/pcre-8.41/libtool"  --silent --tag CXX --mode=relink g++ -fvisibility=hidden -fvisibility-inlines-hidden -O2 -version-info 0:1:0 -o libpcrecpp.la -rpath /usr/lib libpcrecpp_la-pcrecpp.lo libpcrecpp_la-pcre_scanner.lo libpcrecpp_la-pcre_stringpiece.lo libpcre.la )
    libtool: install: /usr/bin/install -c .libs/libpcrecpp.so.0.0.1T /usr/lib/libpcrecpp.so.0.0.1
    libtool: install: (cd /usr/lib && { ln -s -f libpcrecpp.so.0.0.1 libpcrecpp.so.0 || { rm -f libpcrecpp.so.0 && ln -s libpcrecpp.so.0.0.1 libpcrecpp.so.0; }; })
    libtool: install: (cd /usr/lib && { ln -s -f libpcrecpp.so.0.0.1 libpcrecpp.so || { rm -f libpcrecpp.so && ln -s libpcrecpp.so.0.0.1 libpcrecpp.so; }; })
    libtool: install: /usr/bin/install -c .libs/libpcrecpp.lai /usr/lib/libpcrecpp.la
    libtool: finish: PATH="/sbin:/bin:/usr/sbin:/usr/bin:/sbin" ldconfig -n /usr/lib
    ----------------------------------------------------------------------
    Libraries have been installed in:
       /usr/lib

    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the 'LD_RUN_PATH' environment variable
         during linking
       - use the '-Wl,-rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to '/etc/ld.so.conf'

    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
     /bin/mkdir -p '/usr/bin'
      /bin/sh ./libtool   --mode=install /usr/bin/install -c pcretest pcregrep '/usr/bin'
    libtool: install: /usr/bin/install -c .libs/pcretest /usr/bin/pcretest
    libtool: install: /usr/bin/install -c .libs/pcregrep /usr/bin/pcregrep
     /bin/mkdir -p '/usr/bin'
     /usr/bin/install -c pcre-config '/usr/bin'
     /bin/mkdir -p '/usr/share/doc/pcre-8.41'
     /usr/bin/install -c -m 644 doc/pcre.txt doc/pcre-config.txt doc/pcregrep.txt doc/pcretest.txt AUTHORS COPYING ChangeLog LICENCE NEWS README '/usr/share/doc/pcre-8.41'
     /bin/mkdir -p '/usr/share/doc/pcre-8.41/html'
     /usr/bin/install -c -m 644 doc/html/NON-AUTOTOOLS-BUILD.txt doc/html/README.txt doc/html/index.html doc/html/pcre-config.html doc/html/pcre.html doc/html/pcre16.html doc/html/pcre32.html doc/html/pcre_assign_jit_stack.html doc/html/pcre_compile.html doc/html/pcre_compile2.html doc/html/pcre_config.html doc/html/pcre_copy_named_substring.html doc/html/pcre_copy_substring.html doc/html/pcre_dfa_exec.html doc/html/pcre_exec.html doc/html/pcre_free_study.html doc/html/pcre_free_substring.html doc/html/pcre_free_substring_list.html doc/html/pcre_fullinfo.html doc/html/pcre_get_named_substring.html doc/html/pcre_get_stringnumber.html doc/html/pcre_get_stringtable_entries.html doc/html/pcre_get_substring.html doc/html/pcre_get_substring_list.html doc/html/pcre_jit_exec.html doc/html/pcre_jit_stack_alloc.html doc/html/pcre_jit_stack_free.html doc/html/pcre_maketables.html doc/html/pcre_pattern_to_host_byte_order.html doc/html/pcre_refcount.html doc/html/pcre_study.html doc/html/pcre_utf16_to_host_byte_order.html doc/html/pcre_utf32_to_host_byte_order.html doc/html/pcre_version.html doc/html/pcreapi.html doc/html/pcrebuild.html doc/html/pcrecallout.html doc/html/pcrecompat.html doc/html/pcredemo.html doc/html/pcregrep.html '/usr/share/doc/pcre-8.41/html'
     /usr/bin/install -c -m 644 doc/html/pcrejit.html doc/html/pcrelimits.html doc/html/pcrematching.html doc/html/pcrepartial.html doc/html/pcrepattern.html doc/html/pcreperform.html doc/html/pcreposix.html doc/html/pcreprecompile.html doc/html/pcresample.html doc/html/pcrestack.html doc/html/pcresyntax.html doc/html/pcretest.html doc/html/pcreunicode.html '/usr/share/doc/pcre-8.41/html'
     /bin/mkdir -p '/usr/share/doc/pcre-8.41/html'
     /usr/bin/install -c -m 644 doc/html/pcrecpp.html '/usr/share/doc/pcre-8.41/html'
     /bin/mkdir -p '/usr/include'
     /usr/bin/install -c -m 644 pcreposix.h pcrecpp.h pcre_scanner.h '/usr/include'
     /bin/mkdir -p '/usr/share/man/man1'
     /usr/bin/install -c -m 644 doc/pcre-config.1 doc/pcregrep.1 doc/pcretest.1 '/usr/share/man/man1'
     /bin/mkdir -p '/usr/share/man/man3'
     /usr/bin/install -c -m 644 doc/pcre.3 doc/pcre16.3 doc/pcre32.3 doc/pcre_assign_jit_stack.3 doc/pcre_compile.3 doc/pcre_compile2.3 doc/pcre_config.3 doc/pcre_copy_named_substring.3 doc/pcre_copy_substring.3 doc/pcre_dfa_exec.3 doc/pcre_exec.3 doc/pcre_free_study.3 doc/pcre_free_substring.3 doc/pcre_free_substring_list.3 doc/pcre_fullinfo.3 doc/pcre_get_named_substring.3 doc/pcre_get_stringnumber.3 doc/pcre_get_stringtable_entries.3 doc/pcre_get_substring.3 doc/pcre_get_substring_list.3 doc/pcre_jit_exec.3 doc/pcre_jit_stack_alloc.3 doc/pcre_jit_stack_free.3 doc/pcre_maketables.3 doc/pcre_pattern_to_host_byte_order.3 doc/pcre_refcount.3 doc/pcre_study.3 doc/pcre_utf16_to_host_byte_order.3 doc/pcre_utf32_to_host_byte_order.3 doc/pcre_version.3 doc/pcreapi.3 doc/pcrebuild.3 doc/pcrecallout.3 doc/pcrecompat.3 doc/pcredemo.3 doc/pcrejit.3 doc/pcrelimits.3 doc/pcrematching.3 doc/pcrepartial.3 doc/pcrepattern.3 '/usr/share/man/man3'
     /usr/bin/install -c -m 644 doc/pcreperform.3 doc/pcreposix.3 doc/pcreprecompile.3 doc/pcresample.3 doc/pcrestack.3 doc/pcresyntax.3 doc/pcreunicode.3 doc/pcrecpp.3 '/usr/share/man/man3'
     /bin/mkdir -p '/usr/include'
     /usr/bin/install -c -m 644 pcre.h pcrecpparg.h pcre_stringpiece.h '/usr/include'
     /bin/mkdir -p '/usr/lib/pkgconfig'
     /usr/bin/install -c -m 644 libpcre.pc libpcreposix.pc libpcre16.pc libpcre32.pc libpcrecpp.pc '/usr/lib/pkgconfig'
    make  install-data-hook
    make[3]: Entering directory `/home/ec2-user/pcre-8.41'
    ln -sf pcre_assign_jit_stack.3       /usr/share/man/man3/pcre16_assign_jit_stack.3
    ln -sf pcre_compile.3            /usr/share/man/man3/pcre16_compile.3
    ln -sf pcre_compile2.3           /usr/share/man/man3/pcre16_compile2.3
    ln -sf pcre_config.3             /usr/share/man/man3/pcre16_config.3
    ln -sf pcre_copy_named_substring.3   /usr/share/man/man3/pcre16_copy_named_substring.3
    ln -sf pcre_copy_substring.3         /usr/share/man/man3/pcre16_copy_substring.3
    ln -sf pcre_dfa_exec.3           /usr/share/man/man3/pcre16_dfa_exec.3
    ln -sf pcre_exec.3           /usr/share/man/man3/pcre16_exec.3
    ln -sf pcre_free_study.3         /usr/share/man/man3/pcre16_free_study.3
    ln -sf pcre_free_substring.3         /usr/share/man/man3/pcre16_free_substring.3
    ln -sf pcre_free_substring_list.3    /usr/share/man/man3/pcre16_free_substring_list.3
    ln -sf pcre_fullinfo.3           /usr/share/man/man3/pcre16_fullinfo.3
    ln -sf pcre_get_named_substring.3    /usr/share/man/man3/pcre16_get_named_substring.3
    ln -sf pcre_get_stringnumber.3       /usr/share/man/man3/pcre16_get_stringnumber.3
    ln -sf pcre_get_stringtable_entries.3    /usr/share/man/man3/pcre16_get_stringtable_entries.3
    ln -sf pcre_get_substring.3      /usr/share/man/man3/pcre16_get_substring.3
    ln -sf pcre_get_substring_list.3     /usr/share/man/man3/pcre16_get_substring_list.3
    ln -sf pcre_jit_exec.3           /usr/share/man/man3/pcre16_jit_exec.3
    ln -sf pcre_jit_stack_alloc.3        /usr/share/man/man3/pcre16_jit_stack_alloc.3
    ln -sf pcre_jit_stack_free.3         /usr/share/man/man3/pcre16_jit_stack_free.3
    ln -sf pcre_maketables.3         /usr/share/man/man3/pcre16_maketables.3
    ln -sf pcre_pattern_to_host_byte_order.3 /usr/share/man/man3/pcre16_pattern_to_host_byte_order.3
    ln -sf pcre_refcount.3           /usr/share/man/man3/pcre16_refcount.3
    ln -sf pcre_study.3          /usr/share/man/man3/pcre16_study.3
    ln -sf pcre_utf16_to_host_byte_order.3   /usr/share/man/man3/pcre16_utf16_to_host_byte_order.3
    ln -sf pcre_version.3            /usr/share/man/man3/pcre16_version.3
    ln -sf pcre_assign_jit_stack.3       /usr/share/man/man3/pcre32_assign_jit_stack.3
    ln -sf pcre_compile.3            /usr/share/man/man3/pcre32_compile.3
    ln -sf pcre_compile2.3           /usr/share/man/man3/pcre32_compile2.3
    ln -sf pcre_config.3             /usr/share/man/man3/pcre32_config.3
    ln -sf pcre_copy_named_substring.3   /usr/share/man/man3/pcre32_copy_named_substring.3
    ln -sf pcre_copy_substring.3         /usr/share/man/man3/pcre32_copy_substring.3
    ln -sf pcre_dfa_exec.3           /usr/share/man/man3/pcre32_dfa_exec.3
    ln -sf pcre_exec.3           /usr/share/man/man3/pcre32_exec.3
    ln -sf pcre_free_study.3         /usr/share/man/man3/pcre32_free_study.3
    ln -sf pcre_free_substring.3         /usr/share/man/man3/pcre32_free_substring.3
    ln -sf pcre_free_substring_list.3    /usr/share/man/man3/pcre32_free_substring_list.3
    ln -sf pcre_fullinfo.3           /usr/share/man/man3/pcre32_fullinfo.3
    ln -sf pcre_get_named_substring.3    /usr/share/man/man3/pcre32_get_named_substring.3
    ln -sf pcre_get_stringnumber.3       /usr/share/man/man3/pcre32_get_stringnumber.3
    ln -sf pcre_get_stringtable_entries.3    /usr/share/man/man3/pcre32_get_stringtable_entries.3
    ln -sf pcre_get_substring.3      /usr/share/man/man3/pcre32_get_substring.3
    ln -sf pcre_get_substring_list.3     /usr/share/man/man3/pcre32_get_substring_list.3
    ln -sf pcre_jit_exec.3           /usr/share/man/man3/pcre32_jit_exec.3
    ln -sf pcre_jit_stack_alloc.3        /usr/share/man/man3/pcre32_jit_stack_alloc.3
    ln -sf pcre_jit_stack_free.3         /usr/share/man/man3/pcre32_jit_stack_free.3
    ln -sf pcre_maketables.3         /usr/share/man/man3/pcre32_maketables.3
    ln -sf pcre_pattern_to_host_byte_order.3 /usr/share/man/man3/pcre32_pattern_to_host_byte_order.3
    ln -sf pcre_refcount.3           /usr/share/man/man3/pcre32_refcount.3
    ln -sf pcre_study.3          /usr/share/man/man3/pcre32_study.3
    ln -sf pcre_utf32_to_host_byte_order.3   /usr/share/man/man3/pcre32_utf32_to_host_byte_order.3
    ln -sf pcre_version.3            /usr/share/man/man3/pcre32_version.3
    make[3]: Leaving directory `/home/ec2-user/pcre-8.41'
    make[2]: Leaving directory `/home/ec2-user/pcre-8.41'
    make[1]: Leaving directory `/home/ec2-user/pcre-8.41'
    [ec2-user@ip-10-0-3-82 pcre-8.41]$ sudo mv -v /usr/lib/libpcre.so.* /lib 
    ‘/usr/lib/libpcre.so.1’ -> ‘/lib/libpcre.so.1’
    ‘/usr/lib/libpcre.so.1.2.9’ -> ‘/lib/libpcre.so.1.2.9’
    [ec2-user@ip-10-0-3-82 pcre-8.41]$ sudo ln -sfv ../../lib/$(readlink /usr/lib/libpcre.so) /usr/lib/libpcre.so
    ‘/usr/lib/libpcre.so’ -> ‘../../lib/libpcre.so.1.2.9’
$ sudo service httpd restart
        Stopping httpd:                                            [  OK  ]
        Starting httpd:                                            [  OK  ]

phpinfo.php 여기에 이미지 설명을 입력하세요.

답변1

대부분의 경우 라이브러리를 업데이트하는 연결 방법이 효과적입니다(비록 패키지를 처음 만드는 경우 해결하는 것보다 더 많은 문제가 발생할 위험이 있지만 패키지 관리자의 느낌에 영향을 미칠 수 있습니다).

PHP는 자체 PCRE 사본과 함께 번들로 제공되므로가능한이전 버전의 PHP를 실행 중입니다(php-5.4도 PCRE-8.37과 함께 번들로 제공되므로 가능성이 낮음). 이 경우 시스템 PCRE를 교체해도 효과가 없지만 출력에서는 ldd시스템 PCRE를 사용하고 있음을 확인합니다.

이전 시스템 PCRE를 사용하고 있습니다(AMI는 RHEL에서 파생되고 라이브러리는 주요 버전에서만 업데이트됩니다). 그렇다면 문제는 PCRE v8.30입니다.일부 API 변경 사항이 도입되었습니다., 이는 라이브러리 버전의 업데이트를 트리거합니다(관례에 따르면API 기능이 pcre_info()제거되었기 때문입니다.) <8.30의 경우 라이브러리가 호출되고 libpcre.so.0, ≥ v8.30의 경우 라이브러리가 호출됩니다 libpcre.so.1.

$ diff -u pcre-8.21/libpcre.la pcre-8.30/libpcre.la
[...]
 # The name that we can dlopen(3).
-dlname='libpcre.so.0'
+dlname='libpcre.so.1'

 # Names of this library.
-library_names='libpcre.so.0.0.1 libpcre.so.0 libpcre.so'
+library_names='libpcre.so.1.0.0 libpcre.so.1 libpcre.so'

붙여넣은 설치 로그에서 이를 확인할 수 있습니다.

시스템 PHP를 사용한다고 가정하면 시스템 버전에 대해 컴파일되고 링크되므로 libpcre.so.0링크가 문제라는 것이 맞지만 PHP용입니다. 당신이 설치한 것을 절대 사용하지 않을 것입니다 libpcre.so.1. (충분히 검색해 보면 사람들이 이 문제를 해결하기 위해 일부 심볼릭 링크 트릭을 사용하는 것을 옹호한다는 것을 알게 될 것입니다. 그러나 나는 권장하지 않습니다.API 변경 및 버전 변경에는 이유가 있습니다..)

작성자에게 연결한 예에서는 8.31에서 8.33으로 업그레이드했으므로 문제가 발생하지 않았습니다.

가장 쉬운 방법은 업데이트된 PCRE를 사용하여 업데이트된 PHP 패키지가 있는지 확인하거나 AMI 버전을 업데이트하는 것입니다. (덜 간단한 옵션은 자신만의 PHP를 구축하는 것입니다. 이는 일반적으로 권장되지 않으며 완전성을 위해 여기에 포함되었습니다. configure출력의 세부정보부터 시작하여 phpinfo()확인하세요.소홀히 하다옵션 --with-pcre-regex=/usr또는 유사한 업데이트된 번들 PCRE를 선택합니다. 설치 준비 완료위치개발 키트의 수...)

관련 정보