最新のPHPをインストールして試したい!って時の備忘録。
remiリポジトリとdnf+moduleコマンドで最新に限らず柔軟にバージョンを選べるようで、便利になったなと。
目次
PHPが既にインストールされている場合は削除
[root@localhost ~]# dnf remove -y php
依存関係が解決しました。
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================================================
削除中:
php x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 @appstream 4.8 M
未使用の依存関係の削除:
nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82 @appstream 0
php-cli x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 @appstream 9.6 M
php-common x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 @appstream 6.1 M
php-fpm x86_64 7.2.24-1.module_el8.2.0+313+b04d0a66 @appstream 4.9 M
トランザクションの概要
========================================================================================================================================================================
削除 5 パッケージ
~~~
完了しました!
remiリポジトリをdnfでinstall
[root@localhost ~]# dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
メタデータの期限切れの最終確認: 0:32:14 時間前の 2021年05月05日 01時13分46秒 に実施しました。
remi-release-8.rpm 22 kB/s | 25 kB 00:01
依存関係が解決しました。
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================================================
インストール:
remi-release noarch 8.3-1.el8.remi @commandline 25 k
依存関係のインストール:
epel-release noarch 8-8.el8 extras 23 k
トランザクションの概要
========================================================================================================================================================================
インストール 2 パッケージ
~~~
完了しました!
↓もしdnfがエラーする場合は下記で対処
remiの公開鍵を追加
[root@localhost ~]# rpm --import http://rpms.remirepo.net/RPM-GPG-KEY-remi
PHPに関わるリポジトリ情報を確認しておく
[root@localhost ~]# dnf module list php
メタデータの期限切れの最終確認: 0:00:16 時間前の 2021年05月05日 01時50分16秒 に実施しました。
CentOS Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d][e] 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
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
リポジトリを追加するとRemi's~以下が表示されるようになります。
PHP8を指定してインストールする
しかしそのままだとエラーする
[root@localhost ~]# dnf module install php:remi-8.0
メタデータの期限切れの最終確認: 0:02:27 時間前の 2021年05月05日 01時50分16秒 に実施しました。
依存関係が解決しました。
オペレーションは、モジュール 'php' ストリーム '7.2' を ストリーム 'remi-8.0' へと切り替える結果となります
エラー: モジュールの有効なストリームを切り替えることはできません。
モジュールからインストールされた全てのコンテンツを削除し、 'dnf module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。
モジュールを選択してインストールしようとすると、モジュールの切り替えのためresetしろと中断してしまいます。
モジュールのresetをする
[root@localhost ~]# dnf module reset -y php
メタデータの期限切れの最終確認: 0:04:39 時間前の 2021年05月05日 01時50分16秒 に実施しました。
依存関係が解決しました。
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================================================
モジュールの再設定中:
php
トランザクションの概要
========================================================================================================================================================================
完了しました!
改めてインストールを実行
[root@localhost ~]# dnf module install -y php:remi-8.0
メタデータの期限切れの最終確認: 0:05:51 時間前の 2021年05月05日 01時50分16秒 に実施しました。
依存関係が解決しました。
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================================================
group/moduleパッケージをインストール:
php-cli x86_64 8.0.6-1.el8.remi remi-modular 4.7 M
php-common x86_64 8.0.6-1.el8.remi remi-modular 1.2 M
php-fpm x86_64 8.0.6-1.el8.remi remi-modular 1.6 M
php-mbstring x86_64 8.0.6-1.el8.remi remi-modular 524 k
php-xml x86_64 8.0.6-1.el8.remi remi-modular 236 k
依存関係のインストール:
libxslt x86_64 1.1.32-5.el8 baseos 250 k
oniguruma5php x86_64 6.9.6-1.el8.remi remi-safe 208 k
弱い依存関係のインストール:
nginx-filesystem noarch 1:1.14.1-9.module_el8.0.0+184+e34fea82 appstream 24 k
モジュールプロファイルのインストール中:
php/common
モジュールストリームの有効化中:
php remi-8.0
トランザクションの概要
========================================================================================================================================================================
インストール 8 パッケージ
~~~
完了しました!
ブラウザで確認する場合はApacheを再起動
もしブラウザでPHPを動かしていた場合、Apacheを再起動しておく必要があります。
[root@localhost ~]# systemctl restart httpd
再起動するとPHPが動くようになります。