Ubuntu 20.04 /18.04にPHP8.0をインストールする方法


PHPは、間違いなく最も広く使用されているサーバー側プログラミング言語の1つです。ダイナミックでレスポンシブなウェブサイトを開発する際に選択する言語です。実際、WordPress、Drupal、Magentoなどの人気のあるCMプラットフォームはPHPに基づいています。

このガイドを執筆している時点で、PHPの最新バージョンはPHP8.0です。 2020年11月26日にリリースされました。共用体型、名前付き引数、ヌルセーフ演算子、一致式、JIT、エラー処理と一貫性の改善などの新機能と最適化を誇っています。

このチュートリアルでは、Ubuntu 20.04 /18.04へのPHP8.0のインストールについて説明します。

このページで

  • Add the Ondřej Surý PPA Repository on Ubuntu
  • Install PHP 8.0 with Apache on Ubuntu
  • Install PHP 8.0 with Nginx on Ubuntu
  • Install PHP 8 Extensions in Ubuntu
  • Verify PHP 8 Installation in Ubuntu

PHP 7.4は、このチュートリアルを書いている時点でのUbuntu20.04リポジトリのデフォルトのPHPバージョンです。最新バージョンのPHPをインストールするには、OndrejPPAリポジトリを使用します。このリポジトリには、複数のPHPバージョンとPHP拡張機能が含まれています。

ただし、最初に、Ubuntuシステムパッケージを更新し、図のようにいくつかの依存関係をインストールしましょう。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install  ca-certificates apt-transport-https software-properties-common

次に、OndrejPPAを追加します。

$ sudo add-apt-repository ppa:ondrej/php

プロンプトが表示されたら、Enterキーを押してリポジトリの追加を続行します。

次に、システムリポジトリを更新して、PPAの使用を開始します。

$ sudo apt update

Apache Webサーバーを実行している場合は、図のようにApacheモジュールを使用してPHP8.0をインストールします。

$ sudo apt install php8.0 libapache2-mod-php8.0 

次に、Apache Webサーバーを再起動して、モジュールを有効にします。

$ sudo systemctl restart apache2

PHP-FPMでApacheWebサーバーを使用する場合は、以下のコマンドを実行して必要なパッケージをインストールします。

$ sudo apt install php8.0-fpm libapache2-mod-fcgid

PHP-FPMはデフォルトで有効になっていないため、次のコマンドを呼び出して有効にします。

$ sudo a2enmod proxy_fcgi setenvif
$ sudo a2enconf php8.0-fpm

次に、変更を有効にするためにApacheWebサーバーを再起動します。

$ sudo systemctl restart apache2

NginxインストールでPHP8.0を使用することを選択した場合、実行する最も推奨される手順は、PHPファイルを処理するためにPHP-FPMをインストールすることです。

したがって、次のコマンドを使用してPHPおよびPHP-FPMをインストールします。

$ sudo apt install php8.0-fpm

PHP-FPMサービスが自動的に開始されます。次のようにこれを確認できます。

$ sudo systemctl status php8.0-fpm

NginxがPHPファイルを処理するには、次のようにサーバーセクションを更新してNginxサーバーブロックを構成します。

server {

   # ... some other code

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
}

最後に、変更を有効にするためにNginxWebサーバーを再起動します。

$ sudo systemctl restart nginx

PHP拡張機能は、PHPの機能を拡張するライブラリです。これらの拡張機能はパッケージとして存在し、次のようにインストールできます。

$ sudo apt install php8.0-[extension-name]

たとえば、以下の例では、SNMP、Memcached、およびMySQL拡張機能をインストールします。

$ sudo apt install php8.0-snmp php-memcached php8.0-mysql

インストールされているPHPのバージョンを確認するには、次のコマンドを実行します。

$ php -v

さらに、次のように/ var/www/htmlにサンプルphpファイルを作成できます。

$ sudo vim /var/www/html/info.php

次の行を貼り付けて、ファイルを保存します。

<?php

phpinfo();

?>

最後に、ブラウザにアクセスして、図のようにサーバーのIPアドレスを参照します。

http://server-ip/info.php

表示されるWebページが表示されます。

PHP 8.0をインストールして、ApacheまたはNginxWebサーバーと快適に統合できるようになることを願っています。あなたのフィードバックは大歓迎です。