Raspbian Buster に PHP7.4 をインストール(2020/01)

WordPressの推奨実行環境として、PHPバージョンは7.3以上が推奨されています。
Raspbian Buster の 2020/1月時点の標準リポジトリで PHP7.3 が使用可能になっていますが、外部リポジトリを使用して最新版PHP7.4をインストールする手順を記載します。

外部リポジトリとして、packages.sury.org/php を使用します。

1. 事前確認

PHP の最新版情報は公式サイトで確認できます。

2. 外部リポジトリ情報追加

packages.sury.org/php の GPG 公開鍵を登録します。

# wget -O - https://packages.sury.org/php/apt.gpg | apt-key add -

packages.sury.org/php のリポジトリ情報を追加し、パッケージ・リストの更新を行います。

# echo "deb https://packages.sury.org/php/ `lsb_release -cs` main" >> /etc/apt/sources.list.d/php.list
# apt update

3. 外部リポジトリからのPHPインストール情報の確認

PHPの外部リポジトリからインストールできる、PHPパッケージの版数情報を確認します。

# apt policy php
php:
  インストールされているバージョン: (なし)
  候補:               2:7.4+71+0~20191219.19+debian10~1.gbpefc769
  バージョンテーブル:
     2:7.4+71+0~20191219.19+debian10~1.gbpefc769 500
        500 https://packages.sury.org/php buster/main armhf Packages
     2:7.3+69 500
        500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages

4. PHPパッケージをインストール

PHPパッケージをインストールします。

# apt install php7.4

PHPをインストールすると、Apache (Web Server) が合わせてインストールされます。
Apache 以外の Web Server (Nginx等) を使用する場合は、Apache を停止してかつ、自動起動を無効化します。

# systemctl stop apache2
# systemctl disable apache2

下記はWordPressに関連する、PHP拡張モジュールをインストールしています。
※必要になる拡張モジュールはWordPress環境に応じて異なりますが、ここではインストール手順のみを記載します。個々の拡張モジュールの詳細についてはここでは記載しません。

# apt install php7.4-fpm
# apt install php7.4-mysql
# apt install php7.4-mbstring
# apt install php7.4-gd
# apt install php7.4-zip
# apt install php7.4-xml

5. バージョンの確認

インストールされた、PHPのバージョンは下記コマンドにて確認出来ます。

# php -v
PHP 7.4.0 (cli) (built: Nov 28 2019 07:26:14) ( NTS )
Copyright (c) The PHP Group
    with Zend OPcache v7.4.0, Copyright (c), by Zend Technologies

コメント

  1. jazzwalker より:

    自分もラズパイでWordPressをやっております。
    WordPressからPHP7.4 を勧めてきましたが、インストールの仕方が分からず、このサイトに辿り着きました。
    通常のインストールでは、7.3までしかインストールできませんでした。

    2. 外部リポジトリ情報追加「packages.sury.org/php の GPG 公開鍵を登録します。」とありますが、この公開キーというのは何でしょうか? お示しのコマンドラインの中に埋め込むものですか? 具体的に書いていただけると有り難いのですが。よろしくお願いいたします。

  2. jazzwalker より:

    情報ありがとうございました。

    上に書かれた通りに実行すれば良かったのですね。apache2のところで少々躓きましたが、上手く行ったと思います。PHP7.4.7 になっていました。

    • mizu より:

      jazzwalkerさん
      サイトの参照ありがとうございます。
      PHP7.4導入時の参考にしていただき、うれしく思っています。
      WordpressのPHP推奨が7.4になっていたことに気付いていませんでした。情報ありがとうございます。
      また、本サイトをIPv4とIPv6のデュアルスタックにしていたのですが、いままでIPv6系が正常に動作しているのかの確認を取ることが出来ていませんでしたが、図らずもjazzwalkerさんのコメント書き込みがIPv6にて行われており、確認ができました。
      コメントに感謝いたします。

  3. jazzwalker より:

    以下、もしご存知でしたら教えていただけませんか?

    Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

    このエラーなのですが、PHP7.4にしてから出てしまいました。何かのモジュールが不足しているということでしょうが、ご存知のことだけで結構です。よろしくお願いします。