PHP のバージョンアップ手順 【Linux】

programming Linux

Linux で PHP のバージョンアップをする手順についてまとめておきます。

構成:レンタルサーバ(ConoHa VPS), CentOS 8.0, Apache, MySQL 8, PHP, WordPress 5.5 以降

背景

CentOS 8.0 で WordPress 5.5 以降を使って、パーマリンクの設定を変更(「基本」→「投稿名」)したところ、うまく動きませんでした。

そこで、PHP のバージョンを最新版(7.4 以降)に更新し、いくつか設定をしたところ、動くようになりましたので、まずは PHP の更新手順について、まとめておきます。

PHP のバージョンアップ手順

まず、PHP のバージョンを確認しておきます。
# php -v
ここで、PHP のバージョンが 7.4 より古い場合は、バージョンアップを検討しましょう。

EPEL リポジトリ、Remi リポジトリが必要になるので、インストールします。
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

PHP をいったん停止します。
# dnf module disable php

PHP 7.4 のインストール(最新版が出てきたら修正してください)
# dnf module install php:remi-7.4

php-fpm の設定
# systemctl enable php-fpm
# systemctl restart httpd
# php -v
バージョンが 7.4 (以降)に更新されていたら、OK です。

PHP のバージョン ~ 盲点だったポイント

CentOS 8.0 では、標準で PHP をインストールすると PHP 7.2 になるようです。
CentOS 8.0 は、2019 年以降リリースされています。そこで、CentOS 8.0 を設定さえすれば、インストールされているパッケージも一通り、最新版か最新版と同等と思ってしまいやすいです。また、まっさらな OS なので、変更はできるだけ避けたい心理になりやすいです。(← これが間違い。)

PHP 7.4 は、旧 PHP 7.2 とは仕様が大きく変更になっており、旧 PHP 7.2 のままでは、他の最新パッケージ(WordPress 5.5 以降など)との組み合わせでは動作しないケースが生じているようです。
あと、VPS サーバのデータベースとして、MariaDB をインストールする事例・サイトがありますが、MariaDB についても CentOS 7 以前の記事が多く、CentOS 8.0 以降で動作確認されたものがなかなか見つかりません。
そこで、最新バージョンで動作確認できたという事例、サイトが見つからない MariaDB についてはアンインストールすることとし、WordPress が動いているという事例、サイトのある、最新版の MySQL 8 でサイトを設定することにしました。

まとめ

PHP 7.4 の設定手順をまとめました。
Google 検索すると古い記事が多く、CentOS 8.0、PHP 7.4、MySQL 8.0、WordPress 5.5 以降など、最新のバージョンでは記事通りに設定しても動かないものが多いです。
私は CentOS を使っていますが、他の Ubuntu 等でも同様の現象が起きているのではないかと推測します。似たような状況に陥っている方は、最近のサイトの記事を参考に設定を進めましょう。

関連記事
・ LAMP のバージョン確認コマンド 【Linux】
・ CentOS 8.0 に WordPress をインストールする流れ

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