ミラクルリナックス8にPHP8をインストールする!

長いことWEB開発をしていると異なるOS、ミドルウェアのバージョンを扱いだすというモノ。

使いたいあOSでは古いミドルウェアがインストールされてしまうこともしばしばで、新しいバージョンをインストールしたいというときがあります。

今回はミラクルリナックス8でPHP8以上をインストールすための手順を残していきます。

スポンサーリンク

状況の確認

ミラクルリナックス8で普通にPHPをインストールしようとすると、こんな感じでPHP7.2が選ばれてしまいます(PHP8にしたいのに。。。)

インストールするバージョンを8.0に変更する

そこで使うのがdnf module~、下記のコマンドを実行することで、下記のようにインストールできるバージョンが一覧されます。

dnf module list php

選択できるのは「7.2」、「7.3」、「7.4」、「8.0」であることがわかりました。
後ろに[d]と付いているのがdnfでデフォルトでインストールしようとしているバージョンです。

これを「8.0」が選択されるように設定します。

dnf module enable php:8.0

もう一度dnfコマンドを実行すると、、、↓↓↓↓↓

このようにPHP8.0がインストール対象になりました!

PHP8.0って古くない?

セキュリティアップデートも切れるんだよなぁ、、
ということで8.0より新しいバージョンのインストール手順です。

dnf install http://rpms.famillecollet.com/enterprise/remi-release-8.rpm

ただここで下記のようにエラーするかもしれません、

[root@localhost ~]# dnf install http://rpms.famillecollet.com/enterprise/remi-release-8.rpm
メタデータの期限切れの最終確認: 0:38:03 時間前の 2023年09月30日 16時27分47秒 に実施しました。
remi-release-8.rpm                                                                                                                            24 kB/s |  32 kB     00:01
エラー:
 問題: 競合するリクエスト
  - epel-release = 8 が提供されません remi-release-8.8-1.el8.remi.noarch に必要です
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)

EPELからインストール

その場合はEPELを先に入れときます。

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
[root@localhost ~]# dnf install http://rpms.famillecollet.com/enterprise/remi-release-8.rpm
Extra Packages for Enterprise Linux 8 - x86_64                                                                                               4.3 MB/s |  16 MB     00:03
メタデータの期限切れの最終確認: 0:00:06 時間前の 2023年09月30日 17時42分15秒 に実施しました。
remi-release-8.rpm                                                                                                                            17 kB/s |  32 kB     00:01
依存関係が解決しました。
=============================================================================================================================================================================
 パッケージ                                アーキテクチャー                  バージョン                                     リポジトリー                               サイズ
=============================================================================================================================================================================
インストール:
 remi-release                              noarch                            8.8-1.el8.remi                                 @commandline                                32 k
アップグレード:
 redhat-release                            x86_64                            8.8-0.8.el8.ML.1                               8-latest-BaseOS                             16 k

トランザクションの概要
=============================================================================================================================================================================
インストール    1 パッケージ
アップグレード  1 パッケージ

合計サイズ: 48 k
ダウンロードサイズの合計: 16 k

改めて確認、、、

dnf module list php

PHP8.3のインストール

モジュールの選択は、せっかくなので一番新しい8.3を選択します。

dnf module enable php:remi-8.3

インストール!!

dnf install php

PHPが8.3になっているか確認!

php -v

完了!

まとめ

セキュリティアップデート継続中のPHPを来年以降入れるなら必須なんだろうか、
結構簡単にバージョンアップできるので安心。

スポンサーリンク
おすすめの記事