PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

Ubuntu Linux 14.04 LTSにPHP 7をインストールする完全ガイド

PHPとは

PHPは、Web開発向けに設計されたサーバーサイドのスクリプト言語ですが、汎用プログラミング言語としても広く利用されています。1994年にラスマス・ラードフ(Rasmus Lerdorf)によって開発され、現在はPHP Groupによってリファレンス実装が提供されています。最新バージョンのPHP 7は、PHP 5.6と比較して約2倍の処理性能向上と50%のメモリ消費削減を実現しており、大幅な高速化が期待できます。本記事では、「Ubuntu LinuxにPHP 7をインストールする方法」について詳しく解説します。

PHP 7をインストールする前に、ondrej/phpというPPA(Personal Package Archive)を追加しておく必要があります。このPPAを利用することで、PHP 5.6とPHP 7.0を同一環境に共存させてインストールできるようになります。

PHP 5.6 + 7.0が共存可能なPPAの設定

PPAを追加するには、以下のコマンドを実行します。

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

実行すると、以下のような出力が表示されます。

Co-installable PHP versions: PHP 5.6, PHP 7.0 and batteries included.

You can get more information about the packages at https://deb.sury.org

For PHP 5.6 use: ppa:ondrej/php5-5.6
For PHP 5.5 use: ppa:ondrej/php5
For PHP 5.4 use: ppa:ondrej/php5-oldstable

BUGS & FEATURES: This PPA now has a issue tracker: https://deb.sury.org/pages/bugreporting.html

PLEASE READ: If you like my work and want to give me a little motivation, please consider donating: https://deb.sury.org/pages/donate.html

WARNING: add-apt-repository is broken with non-UTF-8 locales, see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround:

# LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
.............................

パッケージインデックスの更新

続いて、パッケージインデックスを更新するために、以下のコマンドを実行します。

$ sudo apt-get update

実行すると、以下のような出力が表示されます。

Ign https://dl.google.com stable InRelease
Get:1 https://security.ubuntu.com trusty-security InRelease [65.9 kB]
Ign https://extras.ubuntu.com trusty InRelease
Hit https://ppa.launchpad.net trusty InRelease
Ign https://in.archive.ubuntu.com trusty InRelease
Get:2 https://extras.ubuntu.com trusty Release.gpg [72 B]
Hit https://dl.google.com stable Release.gpg
Hit https://ppa.launchpad.net trusty InRelease
Hit https://dl.google.com stable Release
Hit https://extras.ubuntu.com trusty Release
Get:3 https://in.archive.ubuntu.com trusty-updates InRelease [65.9 kB]
Hit https://dl.google.com stable/main amd64 Packages
Get:4 https://ppa.launchpad.net trusty InRelease [20.9 kB]
Hit https://extras.ubuntu.com trusty/main Sources
Get:5 https://security.ubuntu.com trusty-security/main Sources [106 kB]
Hit https://extras.ubuntu.com trusty/main amd64 Packages
Hit https://extras.ubuntu.com trusty/main i386 Packages
..................................

PHP 7関連パッケージの確認

利用可能なPHP 7関連パッケージの一覧を表示するには、以下のコマンドを実行します。

$ sudo apt-cache search php7

実行すると、以下のように多数の拡張モジュール付きパッケージが一覧表示されます。

php7.0-common - documentation, examples and common module for PHP
libapache2-mod-php7.0 - server-side, HTML-embedded scripting language (Apache 2 module)
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary)
php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary)
libphp7.0-embed - HTML-embedded scripting language (Embedded SAPI library)
php7.0-dev - Files for PHP7.0 module development
php7.0-curl - CURL module for PHP
php7.0-enchant - Enchant module for PHP
php7.0-gd - GD module for PHP
php7.0-gmp - GMP module for PHP
php7.0-imap - IMAP module for PHP
php7.0-interbase - Interbase module for PHP
php7.0-intl - Internationalisation module for PHP
php7.0-ldap - LDAP module for PHP
php7.0-mcrypt - libmcrypt module for PHP
php7.0-readline - readline module for PHP
php7.0-odbc - ODBC module for PHP
php7.0-pgsql - PostgreSQL module for PHP
php7.0-pspell - pspell module for PHP
php7.0-recode - recode module for PHP
php7.0-snmp - SNMP module for PHP
php7.0-tidy - tidy module for PHP
php7.0-xmlrpc - XMLRPC-EPI module for PHP
php7.0-xsl - XSL module for PHP (dummy)
php7.0 - server-side, HTML-embedded scripting language (metapackage)
php7.0-json - JSON module for PHP
php-all-dev - package depending on all supported PHP development packages
php7.0-sybase - Sybase module for PHP
php7.0-sqlite3 - SQLite3 module for PHP
php7.0-mysql - MySQL module for PHP
php7.0-opcache - Zend OpCache module for PHP
php7.0-bz2 - bzip2 module for PHP
php7.0-bcmath - Bcmath module for PHP
php7.0-mbstring - MBSTRING module for PHP
php7.0-soap - SOAP module for PHP
php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP
php7.0-zip - Zip module for PHP

PHP 7のインストール

PHP 7本体をインストールするには、以下のコマンドを実行します。

$ sudo apt-get install php7.0

実行すると、依存パッケージの情報などが表示され、インストールを続行するか尋ねられます。「y」を入力して進めてください。

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
    libapache2-mod-php5 linux-headers-4.2.0-27 linux-headers-4.2.0-27-generic
    linux-image-4.2.0-27-generic linux-image-extra-4.2.0-27-generic
    linux-signed-image-4.2.0-27-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
    libssl1.0.2 php-common php7.0-cli php7.0-common php7.0-fpm php7.0-json
    php7.0-opcache php7.0-readline
Suggested packages:
    php-pear
The following packages will be REMOVED:
    php5 php5-cli php5-readline
The following NEW packages will be installed:
    libssl1.0.2 php-common php7.0 php7.0-cli php7.0-common php7.0-fpm
    php7.0-json php7.0-opcache php7.0-readline
0 upgraded, 9 newly installed, 3 to remove and 3 not upgraded.
Need to get 4,383 kB of archives.
After this operation, 8,056 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
................................

NginxとPHP 7の連携設定

NginxとPHP 7を連携させるには、まずnginx.confファイルを開きます。

$ sudo vi nginx.conf

ファイルに以下のコードを追記してください。この設定により、すべての.phpファイルへのリクエストがphp-fpmサーバーへ渡されるようになります。

# Pass all .php files onto a php-fpm/php-fcgi server.
location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
}

編集が完了したらファイルを保存して閉じ、以下のコマンドでNginxの設定を再読み込みします。

$ sudo service nginx reload

正常に完了すると、以下のような出力が表示されます。

* Reloading nginx configuration nginx [ OK ]

Nginxが未インストールの場合

設定を再読み込みする前に、Nginxがシステムにインストールされているかどうかを必ず確認してください。未インストールの場合は、以下のコマンドでインストールできます。

$ sudo apt-get install -y nginx

実行すると、以下のような出力が表示されます。

Reading state information... Done
The following packages were automatically installed and are no longer required:
    libapache2-mod-php5 linux-headers-4.2.0-27 linux-headers-4.2.0-27-generic
    linux-image-4.2.0-27-generic linux-image-extra-4.2.0-27-generic
    linux-signed-image-4.2.0-27-generic
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
    nginx-common nginx-core
Suggested packages:
    fcgiwrap nginx-doc
The following NEW packages will be installed:
    nginx nginx-common nginx-core
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
Need to get 349 kB of archives.
After this operation, 1,297 kB of additional disk space will be used.
Get:1 https://in.archive.ubuntu.com/ubuntu/ trusty-updates/main nginx-common all
.............................

Nginxがすでにインストール済みの場合は、前述のコマンドで再読み込みを行ってください。

PHP 7の動作確認

PHP 7が正しくインストールされたかをテストするために、/var/www/html/ディレクトリ内にtest.phpというファイルを作成します。

test.phpの中身は以下のように記述します。

<?php
    phpinfo();
?>

ファイルを保存して閉じたら、ブラウザで以下のURLにアクセスします。

https://localhost/test.php

PHPの設定情報画面が表示されれば、インストールは成功です。

おめでとうございます!これで「Ubuntu Linux 14.04 LTSにPHP 7をインストールする方法」をマスターしました。次回のLinux関連記事では、さらに便利なコマンドや設定方法について解説していきます。ぜひ引き続きご覧ください!

  1. Arch Linuxのインストール方法を徹底解説!初心者向けステップバイステップガイド

    UbuntuやLinux Mintとは異なり、Arch Linuxは「ローリングリリース」方式を採用したLinuxディストリビューションです。一度インストールしてしまえば、常に最新バージョンへと自動的にアップデートされ続けます。また、Arch Linuxは必要最小限の構成から始まるディストリビューションのため、システムに何をインストールするかを完全に自分でコントロールできるのも大きな魅力です。さらに、Linuxコミュニティ屈指の充実度を誇る「Arch Wiki」が存在する点も見逃せません。ただし、Arch Linuxで注意すべき点はそのインストールプロセスです。決して心臓の弱い方向けではありま

  2. Windows 10 / 11 に Ubuntu をインストールする3つの方法【WSL・USB起動・仮想マシン】

    Windows 10 や Windows 11 のパソコンで Ubuntu Linux を使ってみたいと思ったことはありませんか?この記事では、その手順を初心者の方にもわかりやすく解説します。 実は、Windows 上で Ubuntu をインストールして動かす方法はひとつだけではありません。本記事では、代表的な3つのアプローチをご紹介します。① Windows Subsystem for Linux(WSL)を使って Linux コマンドを実行する方法、② USB メモリから直接起動する方法、そして③ 仮想マシン(VM)上で動かす方法です。 それぞれの特徴と手順を順番に見ていきましょう。 方法