dnfを使ったphpバージョン変更

未分類

急いでいる人用

dnf module list php

でインストールされているバージョンの確認と、変更先バージョンの確認。

dnf module reset (*1)php:remi-8.0

インストールされているバージョンをリセット。(*1)php:remi-8.0はインストールされているものを指定。

dnf module enable (*2)php:remi-8.3

インストールするバージョンを指定。(*2)php:remi-8.3dnf module list phpのなかから指定。

dnf update

updateを実行。


順に実行

「このサイト」が動いているサーバーは定期的にdnf updateをしていたものの、「phpバージョンはいくつだったかいな?」と確認したら、8.0だった。php公式のサポートがすでに切れた状態なので8.3まで上げることにする。

[root@ruka ~]# php -v
PHP 8.0.30 (cli) (built: Jun  4 2024 15:09:32) ( 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
[root@ruka ~]#

php8.0はremiリポジトリを使って入れた。念の為対象を確認。

[root@ruka ~]# dnf module list php
メタデータの期限切れの最終確認: 0:28:15 前の 2024年06月28日 12時23分23秒 に実施しました。
AlmaLinux 9 - AppStream
Name              Stream                   Profiles                                   Summary
php               8.1                      common [d], devel, minimal                 PHP scripting language
php               8.2                      common [d], devel, minimal                 PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name              Stream                   Profiles                                   Summary
php               remi-7.4                 common [d], devel, minimal                 PHP scripting language
php               remi-8.0 [e]             common [d] [i], devel, minimal             PHP scripting language
php               remi-8.1                 common [d], devel, minimal                 PHP scripting language
php               remi-8.2                 common [d], devel, minimal                 PHP scripting language
php               remi-8.3                 common [d], devel, minimal                 PHP scripting language

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

という訳で、8.3に変更

[root@ruka ~]# dnf module enable php:remi-8.3
メタデータの期限切れの最終確認: 0:29:53 前の 2024年06月28日 12時23分23秒 に実施しました。
依存関係が解決しました。
オペレーションは、モジュール 'php' ストリーム 'remi-8.0' を ストリーム 'remi-8.3' へと切り替える結果となります
エラー: 設定オプション module_stream_switch から明示的に有効化されていない限り、モジュールの有効なストリームを切り替えることはできません。
モジュールからインストールされた全てのコンテンツを削除し、'dnf module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。

・・・しようとしたら、resetを先に行えと。

[root@ruka ~]# dnf module reset php:remi-8.0
メタデータの期限切れの最終確認: 0:42:57 前の 2024年06月28日 12時23分23秒 に実施しました。
モジュール名のみが必要です。引数で不必要な情報を無視します: 'php:remi-8.0'
依存関係が解決しました。
========================================================================================================================
 パッケージ                  アーキテクチャー           バージョン                    リポジトリー                サイズ
========================================================================================================================
モジュールプロファイルの無効化中:
 php/common
モジュールの再設定中:
 php

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

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

完了したので、8.3を指定。

[root@ruka ~]# dnf module enable php:remi-8.3
メタデータの期限切れの最終確認: 0:43:55 前の 2024年06月28日 12時23分23秒 に実施しました。
依存関係が解決しました。
========================================================================================================================
 パッケージ                  アーキテクチャー           バージョン                    リポジトリー                サイズ
========================================================================================================================
モジュールストリームの有効化中:
 php                                                    remi-8.3

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

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

正しく指定されているか確認。

[root@ruka ~]# dnf module list php
メタデータの期限切れの最終確認: 0:44:38 前の 2024年06月28日 12時23分23秒 に実施しました。
AlmaLinux 9 - AppStream
Name               Stream                    Profiles                                Summary
php                8.1                       common [d], devel, minimal              PHP scripting language
php                8.2                       common [d], devel, minimal              PHP scripting language

Remi's Modular repository for Enterprise Linux 9 - x86_64
Name               Stream                    Profiles                                Summary
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                  common [d], devel, minimal              PHP scripting language
php                remi-8.3 [e]              common [d], devel, minimal              PHP scripting language

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
[root@ruka ~]# dnf update
メタデータの期限切れの最終確認: 0:45:38 前の 2024年06月28日 12時23分23秒 に実施しました。
依存関係が解決しました。
========================================================================================================================
 パッケージ                       アーキテクチャー   バージョン                          リポジトリー             サイズ
========================================================================================================================
アップグレード:
 php                              x86_64             8.3.8-1.el9.remi                    remi-modular             1.8 M
 php-cli                          x86_64             8.3.8-1.el9.remi                    remi-modular             5.6 M
 php-common                       x86_64             8.3.8-1.el9.remi                    remi-modular             1.2 M

(中略)

完了しました!
[root@ruka ~]# php -v
PHP 8.3.8 (cli) (built: Jun  4 2024 14:53:17) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.3.8, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.8, Copyright (c), by Zend Technologies

あとはcomposerを使っていたら、

composer self-update

や、プロジェクトフォルダでの

composer update

など。必要な処理を実行。

コメント

タイトルとURLをコピーしました