0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【RHEL9】リポジトリ標準のphpバージョンを変更する

Posted at

概要

RHEL9からはリポジトリ標準のphpのバージョンを変更できる。
割とよくやる作業だけどやり方が覚えられないので備忘録。

環境

  • OS : Miracle Linux 9.2
  • phpバージョン: 8.0 → 8.1

ポイント

  • dnf moduleを利用します
  • 既存のphpをアンインストールすることなくシームレスにバージョンアップが可能です
    • ただし設定ファイルは再設定が必要

手順

現状のphpバージョンの確認

まず現行のバージョンを確認しておく。今回の場合php8.0.30です。

# php -v
PHP 8.0.30 (cli) (built: Aug  3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
    with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies

切り替え可能なphpバージョンの確認

dnf moduleコマンドで切り替え可能なphpバージョンを確認します。
今回は8.1のみですが、remiリポジトリなどを読み込んでいれば他のバージョンも候補に上がってくるはずです。

# dnf module list php
Name                                                      Stream                                                      Profiles                                                                       Summary                                                                   
php                                                       8.1                                                         common [d], devel, minimal                                                     PHP scripting language                                                    

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled

現在のphpモジュールのリセット

切り替え前に現在のphpモジュールのバージョンをリセットしておきます。

# dnf module reset php

phpモジュールを切り替える

phpモジュールの切り替えを行います。今回はphp:8.1に切り替えます。

# dnf module enable php:8.1
===============================================================================================================================================================================================================================================================================
 パッケージ                                                        アーキテクチャー                                                 バージョン                                                         リポジトリー                                                      サイズ
===============================================================================================================================================================================================================================================================================
モジュールストリームの有効化中:
 php                                                                                                                                8.1                                                                                                                                       

トランザクションの概要
===============================================================================================================================================================================================================================================================================

これでよろしいですか? [y/N]: y
完了しました!

新しいバージョンのphpをインストール

新しいバージョンのphpをインストール(アップグレード)します。このとき、既存のphpをアンインストールする必要はありません。

#  dnf install php
===============================================================================================================================================================================================================================================================================
 パッケージ                                                  アーキテクチャー                                      バージョン                                                                          リポジトリー                                                      サイズ
===============================================================================================================================================================================================================================================================================
アップグレード:
 php                                                         x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                 10 k
 php-cli                                                     x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                3.5 M
 php-common                                                  x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                668 k
 php-devel                                                   x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                681 k
 php-fpm                                                     x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                1.8 M
 php-mbstring                                                x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                473 k
 php-opcache                                                 x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                376 k
 php-pdo                                                     x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                 84 k
 php-pecl-zip                                                x86_64                                                1.20.1-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                 55 k
 php-pgsql                                                   x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                 75 k
 php-process                                                 x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                 42 k
 php-xml                                                     x86_64                                                8.1.14-1.module+el9+1008+29511cc9                                                   9-latest-AppStream                                                140 k

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

ダウンロードサイズの合計: 7.8 M
これでよろしいですか? [y/N]: y

...

完了しました!

バージョンが新しくなっていることを確認

再度、php -vコマンドでバージョンを確認すると、8.1.14に上がっていることがわかります。

# php -v
PHP 8.1.14 (cli) (built: Jan  4 2023 17:23:14) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.14, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.14, Copyright (c), by Zend Technologies

/etc/php.iniは旧バージョンのものが維持されます。必要に応じて新バージョンのphp.iniに切り替えや、設定の変更をしてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?