長いこと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を来年以降入れるなら必須なんだろうか、
結構簡単にバージョンアップできるので安心。