CentOS7で、PHP7.3をインストールする時にエラーが出た(要求: libonig.so.5()(64bit)など)場合の対処方法

CentOS7での、デフォルトでインストールされるPHPのバージョンは、5.4なのですが…。
とうとう、WordPress5.2から、PHP5.4が対象外となってしまいました。

そこで、せっかくなので、PHP7.3でも入れてみたいな~と思ってインストールしてみたときの、作業メモです。
(他のバージョンは、「73」となっているところを「74」などと書き換えれば大丈夫だと思います。)

(1)EPELレポジトリの追加

PHP7のパッケージ情報が入っている「レポジトリ」を、追加します。

yum install epel-release

(2)REMIレポジトリの追加

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

(3)念のため、php.iniをバックアップ

cp /etc/php.ini /etc/php_old.ini

(4)現在のPHPを削除

yum remove php-*

新バージョンのモジュールをインストールするために、この時に表示されるモジュール類をメモしておきます。

(5)新バージョンのPHPをインストールします

yum install  --disablerepo=* --enablerepo=remi-php73 php php-mbstring php-pdo php-gd php-mysqlnd など

削除したのと同じモジュールをインストールします。

(6)ここで、インストールが成功すれば、

(13)で、php.iniを編集します。

(7)もし、ここで、インストールを失敗した場合…。


例えば、php-mbstringでエラーが出た場合

エラー: パッケージ: php-mbstring-7.3.6-3.el7.remi.x86_64 (remi-php73)
要求: libonig.so.5()(64bit)
問題を回避するために --skip-broken を用いることができます。
これらを試行できます: rpm -Va --nofiles --nodigest

(8)モジュール本体を、検索します。

yum list | grep php | more

listを、「php」でフィルタかけて、さらにモジュール名を検索ができるようにします。


/php73-php-mbstring ←検索コマンド
…飛ばしています
php73-php-mbstring.x86_64 7.3.6-1.el7.remi remi


(9)(8)で見つかったモジュールを、一度仮インストールします。

yum -y install php73-php-mbstring

ここで、正常にインストールされました。

ただ、これでは動かないみたいです…。

(10)(9)でインストールした「php73-php-」と名前の付いているモジュールを、全て削除します。

yum remove php73-*

(11)もう一度、モジュールを、(5)と同じコマンドを使ってインストールします。

yum install  --disablerepo=* --enablerepo=remi-php73 php php-mbstring php-pdo php-gd php-mysqlnd など

(12)今度は、エラーが発生せず正常にインストールが成功しました。

(13)php.iniを、設定し直します。

vi /etc/php.ini

(14)Webサーバを再起動します。

systemctl restart httpd

念のため、phpinfo()で、きちんとモジュールが認識されているか確認をしてください。

Prev Next

Comment

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください