このマジシャンのサイトだけど、ダッシュボードのサイトヘルスステータスに「1件の致命的な問題」「サイトが PHP の非常に古いバージョン (7.0.33-0+deb9u7) を実行しており、更新をおすすめします」と表示されている。いつからだろうか?
レンタルサーバーを使っている場合はそこの管理画面から簡単に更新ができるようだけど私の使っているGCP、Google Cloud Platformだとコマンドラインでインストールしないといけないようだ。
Debian 9でphpは7.0から7.4に更新。

マジシャンのマジックショー出張、派遣はこちら

ダッシュボードの警告画面

ダッシュボードのサイトヘルスステータス

phpのアップグレード

Google Cloud Platformの管理画面からSSH接続

phpのバージョンを確認
php -v

PHP 7.4をインストール

sudo apt update
sudo apt install -y curl wget gnupg2 ca-certificates lsb-release apt-transport-https
sudo wget https://packages.sury.org/php/apt.gpg
sudo apt-key add apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php7.list
sudo apt update
sudo apt install -y php7.4 php7.4-cli php7.4-common
php -v

phpのバージョンを確認すると7.4に更新されている。

php -v
PHP 7.4.5 (cli) (built: Apr 19 2020 08:42:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.5, Copyright (c), by Zend Technologies

アパッチ、拡張機能のインストール

sudo apt install -y apache2 libapache2-mod-php7.4
sudo apt install -y php7.4-mysql
php -m | grep -i mysql

sudo apt install -y php7.4-mysql php7.4-dom php7.4-simplexml php7.4-ssh2 php7.4-xml php7.4-xmlreader php7.4-curl  php7.4-exif  php7.4-ftp php7.4-gd  php7.4-iconv php7.4-imagick php7.4-json  php7.4-mbstring php7.4-posix php7.4-sockets php7.4-tokenizer

参照
How To Install PHP 7.4 / 7.3 / 7.2 / 7.1 on Debian 10 / Debian 9

表示が消えない

php -vで確認すると7.4になっているがダッシュボードの警告は消えないで7.0のまま。

ダッシュボードのサイトヘルスステータス「1件の致命的な問題」

ドメイン直下に「phpinfo.php」のファイルを作成して以下を記述

<?php phpinfo();?>

ブラウザで接続すると7.0と表示されている。
調べた所「php -vで確認できるのはcliで稼働しているPHPのバージョンで、Apacheで稼働しているPHPのバージョンとは違うかもしれない。」だそうだ。

デフォルトのphpバージョンを設定

$ sudo update-alternatives --config php

Update Debian to PHP 7.4

試行錯誤で以下のコマンドを入力するが解決せず。

sudo apt install php7.4-bcmath php7.4-bz2 php7.4-curl php7.4-intl php7.4-mbstring php7.4-mysql php7.4-readline php7.4-xml php7.4-zip


sudo nano /etc/php/7.4/apache2/php.ini
F6でサーチで以下変更
upload_max_filesize = 32M 
post_max_size = 48M 
memory_limit = 256M 
max_execution_time = 600 
max_input_vars = 3000 
max_input_time = 1000

sudo a2enmod php7.4

sudo service apache2 restart

Upgrading to PHP 7.4
Install PHP 7.4 on Debian 10

「PHPの更新が必要です」が消えない場合の解決方法

以下で7.0を削除した所、警告が消える。

sudo apt purge php7.0 php7.0-common

Upgrade/Installation guide for PHP 7.4 on Ubuntu and Debian

コメント

なんだかんだでまる1日かかってしまった。
とりあえず解決してよかった。

その他の警告を消すためにテーマやプラグインを削除した。
「imagickがインストールされていない」と言う警告を消す為に拡張機能をインストールしている。
「オプションのモジュールzipがインストールされていないか、無効化されている。」と言う表示も出てたけどいつの間にかに消えました。