このマジシャンのサイトですが、ダッシュボードのサイトヘルスステータスに「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のままです。
ドメイン直下に「phpinfo.php」のファイルを作成して以下を記述
<?php phpinfo();?>
ブラウザで接続すると7.0と表示されている。
調べた所「php -vで確認できるのはcliで稼働しているPHPのバージョンで、Apacheで稼働しているPHPのバージョンとは違うかもしれない。」だそうです。
デフォルトのphpバージョンを設定
$ sudo update-alternatives --config php
試行錯誤で以下のコマンドを入力するが解決せず。
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がインストールされていないか、無効化されています。」と言う表示も出てましたがいつの間にかに消えました。