KUSONEKOの見る世界

CentOS Stream 8 の PHP を 8.0 から 8.1 に上げた

CentOS Stream 8 で、PHP8.0 から PHP8.1に上げた時のメモです。

PHP8.1は、ベンチマークサイトを見てもパフォーマンスが上がっていたため、アップグレードしたいと思っていました。
しかし、Zabbixが正式にPHP8.0以降に対応せず(PHP8.0はなぜか動いていたけども)、以前試しにPHP8.1にするも使えなかったため、アップグレードできずにいました。

先日、PHP8.1に正式対応したZabbix6.0にアップグレードしたので、今回はPHPの方をアップグレードしていきます。

環境:
CentOS Stream 8
nginx 1.14.1
PHP 8.0.24 → 8.1.11
MySQL 8.0.26

Remiリポジトリ追加

これは、PHP8.0にした時に実施済みですが、メモを残しておきます。

# rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-8.rpm

モジュールストリーム変更

# dnf module list php
メタデータの期限切れの最終確認: 0:36:23 時間前の 2022年10月11日 19時12分36秒 に実施しました。
CentOS Stream 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             

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 [e]              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             

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled
# dnf module enable php:remi-8.1
メタデータの期限切れの最終確認: 0:36:59 時間前の 2022年10月11日 19時12分36秒 に実施しました。
依存関係が解決しました。
エラー: 設定オプション module_stream_switch から明示的に有効化されていない限り、モジュールの有効なストリームを切り替えることはできません。
モジュールからインストールされた全てのコンテンツを削除し、'dnf module reset <module_name>' コマンドを使用してリセットすることが推奨されます。モジュールのリセット後、他のストリームをインストール可能です。
# dnf module reset php
メタデータの期限切れの最終確認: 0:37:34 時間前の 2022年10月11日 19時12分36秒 に実施しました。
依存関係が解決しました。
========================================================================================================================
 パッケージ                  アーキテクチャー           バージョン                    リポジトリー                サイズ
========================================================================================================================
モジュールの再設定中:
 php                                                                                                                   

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

これでよろしいですか? [y/N]: y
完了しました!
# dnf module enable php:remi-8.1
メタデータの期限切れの最終確認: 0:37:58 時間前の 2022年10月11日 19時12分36秒 に実施しました。
依存関係が解決しました。
========================================================================================================================
 パッケージ                  アーキテクチャー           バージョン                    リポジトリー                サイズ
========================================================================================================================
モジュールストリームの有効化中:
 php                                                    remi-8.1                                                       

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

これでよろしいですか? [y/N]: y
完了しました!
# dnf module list php
メタデータの期限切れの最終確認: 0:38:27 時間前の 2022年10月11日 19時12分36秒 に実施しました。
CentOS Stream 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             

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 [e]              common [d], devel, minimal              PHP scripting language             
php                remi-8.2                  common [d], devel, minimal              PHP scripting language             

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

PHP8.1にアップデート

# dnf update
メタデータの期限切れの最終確認: 0:38:42 時間前の 2022年10月11日 19時12分36秒 に実施しました。
依存関係が解決しました。
========================================================================================================================
 パッケージ                            Arch            バージョン                           リポジトリー          サイズ
========================================================================================================================
アップグレード:
 php                                   x86_64          8.1.11-1.el8.remi                    remi-modular          1.8 M
 php-bcmath                            x86_64          8.1.11-1.el8.remi                    remi-modular           90 k
 php-cli                               x86_64          8.1.11-1.el8.remi                    remi-modular          5.3 M
 php-common                            x86_64          8.1.11-1.el8.remi                    remi-modular          1.3 M
 php-devel                             x86_64          8.1.11-1.el8.remi                    remi-modular          1.3 M
 php-fpm                               x86_64          8.1.11-1.el8.remi                    remi-modular          1.8 M
 php-gd                                x86_64          8.1.11-1.el8.remi                    remi-modular          106 k
 php-gmp                               x86_64          8.1.11-1.el8.remi                    remi-modular           92 k
 php-intl                              x86_64          8.1.11-1.el8.remi                    remi-modular          252 k
 php-ldap                              x86_64          8.1.11-1.el8.remi                    remi-modular          105 k
 php-mbstring                          x86_64          8.1.11-1.el8.remi                    remi-modular          524 k
 php-mysqlnd                           x86_64          8.1.11-1.el8.remi                    remi-modular          255 k
 php-opcache                           x86_64          8.1.11-1.el8.remi                    remi-modular          631 k
 php-pdo                               x86_64          8.1.11-1.el8.remi                    remi-modular          163 k
 php-pecl-apcu                         x86_64          5.1.22-1.el8.remi.8.1                remi-modular           79 k
 php-pecl-igbinary                     x86_64          3.2.7-1.el8.remi.8.1                 remi-modular          203 k
 php-pecl-imagick-im6                  x86_64          3.7.0-1.el8.remi.8.1                 remi-modular          189 k
 php-pecl-msgpack                      x86_64          2.2.0~RC2-1.el8.remi.8.1             remi-modular           67 k
 php-pecl-redis5                       x86_64          5.3.7-1.el8.remi.8.1                 remi-modular          270 k
 php-pecl-zip                          x86_64          1.21.1-1.el8.remi.8.1                remi-modular           76 k
 php-process                           x86_64          8.1.11-1.el8.remi                    remi-modular          110 k
 php-sodium                            x86_64          8.1.11-1.el8.remi                    remi-modular          102 k
 php-xml                               x86_64          8.1.11-1.el8.remi                    remi-modular          252 k

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

(略)

これでよろしいですか? [y/N]: y

(略)

警告: /etc/php.ini は /etc/php.ini.rpmnew として作成されました。

警告: /etc/php.d/10-opcache.ini は /etc/php.d/10-opcache.ini.rpmnew として作成されました。
# systemctl restart php-fpm

Nextcloud

ログインできない

ログインしようとしても、ログイン画面から変わりません。
いつもの事ですが、以下ディレクトリにNginxがアクセスできるようにします。

# chown -R nginx. /var/lib/php/session/

その他アプリ

マイナーバージョンアップのため、その他アプリは何事もなく動いています。

  • p2-php
  • Zabbix 6.0.9
動作は軽くなっているような気がしなくもないがよく分からない。