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へアップグレード」への1件のフィードバック