再コンパイルせずにPHP 5でモジュールを有効にする

再コンパイルせずにPHP 5でモジュールを有効にする

CMSをインストールしようとしていますが、次のものが必要です。PHP用mbstringモジュール。ページによると、モジュールはインストールされていますが、デフォルトでは有効ではありません。この記事は、PHPの設定方法を「説明」するインストールページにリンクされています。残念ながら、PHPのインストール "手動"では、ソースパッケージからApacheとPHPをインストールしてコンパイルする必要があります。したがって、残りの95%のWebサーバー管理者はこれから何の助けも受けません。自分の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を使用させるには、もう1つのことがあります。たとえば、次のようになります。

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/

おすすめ記事