KUSANAGIのPHP7.2環境にphp-intlをインストールしてみた

php7.2 なKUSANAGI環境に php-intl をインストールします。
(php7.3な環境も同じ方法でいけます)
なかなか情報がないのと、yumで一発導入とはいかなかったので、力業で対応しています。
このため今後のアップデート等で対応が必要になるため、内容が理解できている人向けです。

外部レポジトリから該当のrpmファイルをダウンロード

Remi’s RPM repository から php72-php-intl をダウンロードします。

# yum install --downloadonly --downloaddir=[work-dir] --enablerepo=remi php72-php-intl

当方のphp環境が kusanagi-php7-7.2.13-1.noarch のため、インストールするとコンフリクトが発生してしまい、面倒でした。
ですので、ダウンロードします。

rpmファイルを展開する

# rpm2cpio php72-php-intl-7.2.13-2.el7.remi.x86_64.rpm  | cpio -id

# find
.
./etc
./etc/opt
./etc/opt/remi
./etc/opt/remi/php72
./etc/opt/remi/php72/php.d
./etc/opt/remi/php72/php.d/20-intl.ini
./opt
./opt/remi
./opt/remi/php72
./opt/remi/php72/root
./opt/remi/php72/root/usr
./opt/remi/php72/root/usr/lib64
./opt/remi/php72/root/usr/lib64/php
./opt/remi/php72/root/usr/lib64/php/modules
./opt/remi/php72/root/usr/lib64/php/modules/intl.so

ファイルをコピーする

ファイルが2つ展開されましたので、それぞれコピーしていきます。

# cp ./etc/opt/remi/php72/php.d/20-intl.ini /etc/php7.d/extensions/
# cp ./opt/remi/php72/root/usr/lib64/php/modules/intl.so /usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/

サービスを再起動する

あとはサービスを再起動してモジュールをロードさせれば完了です。

この方法は、手動でファイルを配置していますので、yum等のバージョン管理はできませんし、システムの更新を行った際に問題が発生する可能性もあります。
大変にリスキーではありますが、とりあえず動けばよい、何かあっても対応できるスキルがあれば、やっていることは難しいことではないので問題ないかと思います。

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.