プロジェクト

全般

プロフィール

PHPのマイナーバージョンを切り替える

アプリ側のPHPバージョンの要求が上がって、マイナーバージョン(PHP8.xなど)の通常のdnf updateでは上がらない
バージョンをを上げる必要がある場合。(remiリポジトリが多いと思うので、その例。)

なおmariadbなど、PHP以外でも同じ手順でOKなものがある。

手順

  • 現在利用中および利用可能なバージョンの確認
    各リポジトリで[d]はデフォルト、[e]が現在利用中のもの
    # dnf module list php
    メタデータの期限切れの最終確認: 3:20:08 前の 2026年04月22日 11時37分05秒 に実施しました。
    Rocky Linux 8 - AppStream
    Name          Stream               Profiles                           Summary                       
    php           7.2 [d]              common [d], devel, minimal         PHP scripting language        
    php           7.3                  common [d], devel, minimal         PHP scripting language        
    php           7.4                  common [d], devel, minimal         PHP scripting language        
    php           8.0                  common [d], devel, minimal         PHP scripting language        
    php           8.2                  common [d], devel, minimal         PHP scripting language        
    
    Remi's Modular repository for Enterprise Linux 8 - x86_64
    Name          Stream               Profiles                           Summary                       
    php           remi-7.2             common [d], devel, minimal         PHP scripting language        
    php           remi-7.3             common [d], devel, minimal         PHP scripting language        
    php           remi-7.4             common [d], devel, minimal         PHP scripting language        
    php           remi-8.0             common [d], devel, minimal         PHP scripting language        
    php           remi-8.1             common [d], devel, minimal         PHP scripting language        
    php           remi-8.2 [e]         common [d], devel, minimal         PHP scripting language        
    php           remi-8.3             common [d], devel, minimal         PHP scripting language        
    php           remi-8.4             common [d], devel, minimal         PHP scripting language        
    php           remi-8.5             common [d], devel, minimal         PHP scripting language 
    
  • 上記で利用したいバージョンのStream名をコピーしておく
  • 利用中のバージョン設定をリセットする
    # dnf module reset php
    メタデータの期限切れの最終確認: 3:20:34 前の 2026年04月22日 11時37分05秒 に実施しました。
    依存関係が解決しました。
    ====================================================================================================
     パッケージ             アーキテクチャー      バージョン               リポジトリー           サイズ
    ====================================================================================================
    モジュールの再設定中:
     php                                                                                               
    
    トランザクションの概要
    ====================================================================================================
    
    完了しました!
    
  • 利用するバージョンを設定する
    # dnf module enable php:remi-8.3
    メタデータの期限切れの最終確認: 3:29:12 前の 2026年04月22日 11時37分05秒 に実施しました。
    依存関係が解決しました。
    ====================================================================================================
     パッケージ             アーキテクチャー      バージョン               リポジトリー           サイズ
    ====================================================================================================
    モジュールストリームの有効化中:
     php                                          remi-8.3                                             
    
    トランザクションの概要
    ====================================================================================================
    
    これでよろしいですか? [y/N]: y
    
  • 設定したバージョンへ実際にアップデートを行う
    依存関係で更新されるものもセットで更新される(※依存しないものがあれば事前に調べておくこと)
    # dnf update php
    メタデータの期限切れの最終確認: 3:30:28 前の 2026年04月22日 11時37分05秒 に実施しました。
    依存関係が解決しました。
    ====================================================================================================
     パッケージ               Arch       バージョン                              リポジトリー     サイズ
    ====================================================================================================
    インストール:
     php-pecl-redis6          x86_64     6.3.0-1.module_php.8.3.el8.remi         remi-modular     333 k
         置き換え  php-pecl-redis5.x86_64 5.3.7-2.el8.remi.8.2
    アップグレード:
     php                      x86_64     8.3.30-1.module_php.8.3.el8.remi        remi-modular     1.9 M
    …
    …
    
  • 念のため利用しているサービスは再起動しておく
    # systemctl restart httpd php-fpm
    
  • バージョンを確認
    # php -v
    PHP 8.3.30 (cli) (built: Jan 13 2026 22:36:55) (NTS gcc x86_64)
    Copyright (c) The PHP Group
    Zend Engine v4.3.30, Copyright (c) Zend Technologies
        with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies