CentOS6.9のphp7.1にintl、mbstring、SimpleXMLをインストールする

概要

cakephpをインストールしようとしたらintl系のエクステンションがphpにはいっていなかった。

# php -m | grep -e intl -e mbstring -e SimpleXML

環境

CentOS6.9
php7.1

やったこと

前回のようにphpを入れ直すのも嫌なので、今回はインストール可能なパッケージを検索して設定することにする
simplexmlはxmlにはいっているようなのでxmlをインストールする

# yum list | grep intl
php71-php-intl.x86_64                  7.1.20-1.el6.remi          remi-safe

# yum list | grep mbstring
php71-php-mbstring.x86_64              7.1.20-1.el6.remi          remi-safe

# yum list | grep xml
php71-php-xml.x86_64                   7.1.20-1.el6.remi          remi-safe

インストール

# yum install php71-php-intl
# yum install php71-php-mbstring
# yum install php71-php-xml

エクステンションのあるディレクトリを確認

# find / -name 'intl.so'
/opt/remi/php71/root/usr/lib64/php/modules/intl.so

# ls -l /opt/remi/php71/root/usr/lib64/php/modules/
intl.so
mbstring.so
simplexml.so

php.iniを編集

# vi /etc/php.ini

下記のように追加する

#下記のコメントの下とかに追加する
; extension_dir = "ext"
extension_dir = /opt/remi/php71/root/usr/lib64/php/modules/

#extension_dirを追加しない場合は.soファイルをフルパスにしないとgrepしたときにエラーが出るみたい
#ここはファイル一番下にでも追加する
extension = intl.so
extension = mbstring.so
extension = simplexml.so

有効化されてるか確認

# php -m | grep -e intl -e mbstring -e SimpleXML
intl
mbstring
SimpleXML

インストールできた…。