다시 컴파일하지 않고 PHP 5에서 모듈 활성화

다시 컴파일하지 않고 PHP 5에서 모듈 활성화

CMS를 설치하려고 하는데 다음이 필요합니다.PHP용 mbstring 모듈. 페이지에 따르면 모듈이 설치되어 있지만 기본적으로 활성화되지는 않습니다. 이 기사는 PHP 구성 방법을 "설명"하는 설치 페이지로 연결됩니다. 불행하게도 PHP 설치 "수동"에서는 소스 패키지에서 Apache와 PHP를 설치하고 컴파일해야 합니다. 따라서 나머지 95%의 웹 서버 관리자는 이로부터 어떤 도움도 받지 못합니다. 자신의 PHP를 다시 컴파일하지 않고 모듈을 활성화하는 방법에 대해 의미 있는 내용을 찾을 수 없습니다. 나는 매우 특정한 배포판과 자체 패키지 등을 사용하고 있기 때문에 나는 아무것도 직접 컴파일할 수 없습니다.

그러면 모듈(이 경우 mbstring)을 쉽게 활성화할 수 있는 방법이 있습니까?

미리 감사드립니다!

답변1

다음 방법을 시도해 보셨나요?

apt-get install php-mbstring

PHP를 다시 컴파일하는 것은 실제로 큰 문제가 아닙니다. PHP 홈페이지에서 소스 코드를 다운로드하고 압축을 풀고 구성을 실행하고 make를 실행하고 make install을 실행하면 됩니다.

apt-get update && apt-get install -y \
    autoconf \
    file \
    g++ \
    gcc \
    libc-dev \
    make \
    pkg-config \
    re2c \
    ca-certificates \
    curl \
    libedit2 \
    libsqlite3-0 \
    libxml2 \
    xz-utils \
--no-install-recommends 

wget https://secure.php.net/get/php-5.6.30.tar.bz2/from/this/mirror
tar -jxvf php-5.6.30.tar.bz2
cd php-5.6.30
./configure \
    --disable-cgi \
    \
    --enable-ftp \
    --enable-mbstring \
    --enable-mysqlnd \
    \
    --with-curl \
    --with-libedit \
    --with-openssl \
    --with-zlib \
    \
    #--with-config-file-path="$PHP_INI_DIR" \
    #--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" 

make -j "$(nproc)"
make install

apache2가 /usr/local의 PHP를 사용하도록 하려면 해야 할 일이 한 가지 더 있습니다. 예를 들면 다음과 같습니다.

find /usr/local|grep libphp # get path of new PHP lib
grep libphp /etc/apache2/* -R # find file to update
# edit the file and change to use newly compiled PHP        

service apache2 restart

또 다른 접근 방식은 Docker를 사용하는 것이지만 단순히 PHP를 업데이트하는 것보다 더 복잡한 변경이 필요합니다. 하지만 살펴볼 가치가 있습니다.https://docs.docker.com/engine/installation/linux/debian/

관련 정보