【PHP】7.4サポート終了に伴い8.1へアップグレード

2022/11/28にPHP7.4のサポートが終了する事に伴い当ブログを設置しているサーバのPHPを7.4から8.1へアップグレードします。

まず現在のモジュールを確認

[root@*****~]# yum list installed php*
読み込んだプラグイン:fastestmirror
Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast
Loading mirror speeds from cached hostfile

  • base: ftp.riken.jp
  • epel: ftp.riken.jp
  • extras: ftp.riken.jp
  • remi-safe: ftp.riken.jp
  • updates: ftp.riken.jp
    インストール済みパッケージ
    php.x86_64 7.4.16-1.el7.remi @remi-php74
    php-cli.x86_64 7.4.16-1.el7.remi @remi-php74
    php-common.x86_64 7.4.16-1.el7.remi @remi-php74
    php-fedora-autoloader.noarch 1.0.1-2.el7.remi @remi
    php-fpm.x86_64 7.4.16-1.el7.remi @remi-php74
    php-gd.x86_64 7.4.16-1.el7.remi @remi-php74
    php-imap.x86_64 7.4.16-1.el7.remi @remi-php74
    php-json.x86_64 7.4.16-1.el7.remi @remi-php74
    php-mbstring.x86_64 7.4.16-1.el7.remi @remi-php74
    php-mysqlnd.x86_64 7.4.16-1.el7.remi @remi-php74
    php-odbc.x86_64 7.4.16-1.el7.remi @remi-php74
    php-opcache.x86_64 7.4.16-1.el7.remi @remi-php74
    php-pdo.x86_64 7.4.16-1.el7.remi @remi-php74
    php-pear.noarch 1:1.10.12-5.el7.remi @remi
    php-pecl-apcu.x86_64 5.1.20-1.el7.remi.7.4 @remi-php74
    php-pecl-imagick.x86_64 3.4.4-17.el7.remi.7.4 @remi-php74
    php-pecl-mcrypt.x86_64 1.0.4-1.el7.remi.7.4 @remi-php74
    php-pecl-zip.x86_64 1.19.2-1.el7.remi.7.4 @remi-php74
    php-pgsql.x86_64 7.4.16-1.el7.remi @remi-php74
    php-process.x86_64 7.4.16-1.el7.remi @remi-php74
    php-snmp.x86_64 7.4.16-1.el7.remi @remi-php74
    php-sodium.x86_64 7.4.16-1.el7.remi @remi-php74
    php-symfony-class-loader.noarch 2.8.51-2.el7.remi @remi
    php-symfony-common.noarch 2.8.51-2.el7.remi @remi
    php-xml.x86_64 7.4.16-1.el7.remi @remi-php74
    php-xmlrpc.x86_64 7.4.16-1.el7.remi @remi-php74

これらは一応どこかにメモっておきます。
8.1で同じモジュールが必要になるので。

なお以下のコマンドは必要に応じてユーザ環境でsudoをつけるなどしてください。

次にPHP8.xをインストールするのに必要なEPELのインストール

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Remiリポジトリの構成パッケージをインストール

yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

RemiでPHP8.1のみを有効にします。

yum-config-manager –disable ‘remi-php*’

yum-config-manager –enable remi-php81

ここで yum-config-manager がエラーを出力して進まない場合があります。
これは yum-config-manager が使用しているpythonが3.x系のバージョンの場合起こる事があります。
※未だに2.x系を使い続けてるのもどうよと思いますが。

そこで一旦python2.x系に戻します。
※2.x系と3.x系が併存している場合です。
yum-config-manager は /usr/bin/python を使用しているため、実体を調べます。

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 18 9月 23 2019 /usr/bin/python -> /usr/bin/python3.6

現在3.6系のpythonを使用しています。
次に/usr/bin/ 以下に存在するpythonを調べます

[root@****~]# ls -l /usr/bin/python*
lrwxrwxrwx 1 root root 18 9月 23 2019 /usr/bin/python -> /usr/bin/python3.6
lrwxrwxrwx 1 root root 14 9月 23 2019 /usr/bin/python-config -> python2-config
lrwxrwxrwx 1 root root 9 9月 23 2019 /usr/bin/python2 -> python2.7
lrwxrwxrwx 1 root root 16 9月 23 2019 /usr/bin/python2-config -> python2.7-config
-rwxr-xr-x 1 root root 7216 8月 7 2019 /usr/bin/python2.7
-rwxr-xr-x 1 root root 1835 8月 7 2019 /usr/bin/python2.7-config
-rwxr-xr-x 1 root root 304 5月 3 2019 /usr/bin/python2.7-futurize
-rwxr-xr-x 1 root root 308 5月 3 2019 /usr/bin/python2.7-pasteurize
lrwxrwxrwx 1 root root 9 9月 23 2019 /usr/bin/python3 -> python3.6
lrwxrwxrwx 1 root root 16 9月 23 2019 /usr/bin/python3-config -> python3.6-config
-rwxr-xr-x 2 root root 11408 8月 8 2019 /usr/bin/python3.6
lrwxrwxrwx 1 root root 17 9月 23 2019 /usr/bin/python3.6-config -> python3.6m-config
-rwxr-xr-x 2 root root 11408 8月 8 2019 /usr/bin/python3.6m
-rwxr-xr-x 1 root root 173 8月 8 2019 /usr/bin/python3.6m-config
-rwxr-xr-x 1 root root 3403 8月 8 2019 /usr/bin/python3.6m-x86_64-config

私が利用しているサーバでは2.7系が存在していました。
シンボリックリンクを修正します。

ln -s -f /usr/bin/python2.7 /usr/bin/python

再度 yum-config-manager でphp81のみを有効にします。

yum-config-manager –disable ‘remi-php*’

yum-config-manager –enable remi-php81

リポジトリを確認します。

[root@**** ~]# yum repolist
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile

  • base: ftp.riken.jp
  • epel: ftp.riken.jp
  • extras: ftp.riken.jp
  • remi-php81: ftp.riken.jp
  • remi-safe: ftp.riken.jp
  • updates: ftp.riken.jp
    リポジトリー ID リポジトリー名 状態
    base/7/x86_64 CentOS-7 – Base 10,072
    epel/x86_64 Extra Packages for Enterprise Linux 7 – x86_64 13,739
    extras/7/x86_64 CentOS-7 – Extras 515
    ius/x86_64 IUS for Enterprise Linux 7 – x86_64 252
    mysql-connectors-community/x86_64 MySQL Connectors Community 206
    mysql-tools-community/x86_64 MySQL Tools Community 94
    mysql57-community/x86_64 MySQL 5.7 Community Server 624
    remi-php81 Remi’s PHP 8.1 RPM repository for Enterprise Linux 7 – x86_64 345
    remi-safe Safe Remi’s RPM repository for Enterprise Linux 7 – x86_64 5,070
    updates/7/x86_64 CentOS-7 – Updates 4,385

remi-php81があるのが確認できました。
インストールパッケージをアップデートします。

yum update -y

PHPのアップデートを行います。

yum install -y php

インストールが完了したらPHPのバージョンを確認します。

php -v

もしくは

php –version

参考リンク:

https://qiita.com/C_HERO/items/1512ba1e33c330c9ab0d

【PHP】7.4サポート終了に伴い8.1へアップグレード

【PHP】7.4サポート終了に伴い8.1へアップグレード」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

トップへ戻る