CentOS7でPHPをダウングレード

技術

公式アナウンスによるとPHP7.4は2022/11/28にEOLを迎える
基本的に今後の開発はPHP8で実施すべきだが、WordPressを触っているとまだまだ非対応なテーマやプラグインがあり、単純に移行が難しいケースも

WordPressをさくらVPSで動かしているが、
CentOS7でPHP8.1からPHP7.4.30にダウングレードした際のコマンドをメモ

現行バージョンのアンインストール

現行設定ファイルのバックアップとバージョンの確認を行う

#現行設定のバックアップ
$cp /etc/php.ini php.ini_bck

#バージョンの確認
$yum list installed | grep php
php.x86_64                         8.1.9-1.el7.remi               @remi-php81   
php-bcmath.x86_64                  8.1.9-1.el7.remi               @remi-php81   
php-cli.x86_64                     8.1.9-1.el7.remi               @remi-php81   
php-common.x86_64                  8.1.9-1.el7.remi               @remi-php81   
php-devel.x86_64                   8.1.9-1.el7.remi               @remi-php81   
php-fpm.x86_64                     8.1.9-1.el7.remi               @remi-php81   
php-gd.x86_64                      8.1.9-1.el7.remi               @remi-php81   
php-intl.x86_64                    8.1.9-1.el7.remi               @remi-php81   
php-mbstring.x86_64                8.1.9-1.el7.remi               @remi-php81   
php-mysqlnd.x86_64                 8.1.9-1.el7.remi               @remi-php81   
php-opcache.x86_64                 8.1.9-1.el7.remi               @remi-php81   
php-pdo.x86_64                     8.1.9-1.el7.remi               @remi-php81   
php-pear.noarch                    1:1.10.13-1.el7.remi           @remi-php81   
php-pecl-igbinary.x86_64           3.2.7-1.el7.remi.8.1           @remi-php81   
php-pecl-memcache.x86_64           8.0-3.el7.remi.8.1             @remi-php81   
php-pecl-msgpack.x86_64            2.2.0~RC1-4.el7.remi.8.1       @remi-php81   
php-pecl-redis5.x86_64             5.3.7-1.el7.remi.8.1           @remi-php81   
php-pecl-zip.x86_64                1.21.1-1.el7.remi.8.1          @remi-php81   
php-process.x86_64                 8.1.9-1.el7.remi               @remi-php81   
php-sodium.x86_64                  8.1.9-1.el7.remi               @remi-php81   
php-xml.x86_64                     8.1.9-1.el7.remi               @remi-php81   
phpMyAdmin.noarch                  5.2.0-1.el7.remi               @remi        

現行のパッケージをアンインストールする

yum remove -y php php-bcmath php-cli php-common php-devel php-fpm php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo php-pear php-pecl-igbinary php-pecl-memcache php-pecl-msgpack php-pecl-redis5 php-pecl-zip php-process php-sodium php-xml

PHPの再インストール

yum-config-managerを用いて、php7.4を明示的にインストールする

$sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
$sudo yum install -y yum-utils
$sudo yum-config-manager --disable 'remi-php*'
$sudo yum-config-manager --enable remi-php74
$sudo yum -y install php php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json,opcache,redis,memcache} phpMyAdmin

※phpMyAdminも削除されるので必要に応じてエンドポイント等の設定は修正する

vi /etc/httpd/conf.d/phpMyAdmin.conf
#必要に応じて

WordPressの再起動

一通り完了したら、再起動を行う

systemctl restart httpd

所感

phpenvを使ってバージョン切り替えをする方法もあるが、specは低いサーバーの場合コンパイルができず、うまくできなかったため、再インストールをすることで対応を行なった

phpのバージョンを切り替えて開発することが頻繁にない気もしているので今回は問題ないと判断

コメント

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