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関連記事では、さらに便利なコマンドや設定方法について解説していきます。ぜひ引き続きご覧ください!
-
Arch Linuxのインストール方法を徹底解説!初心者向けステップバイステップガイド
UbuntuやLinux Mintとは異なり、Arch Linuxは「ローリングリリース」方式を採用したLinuxディストリビューションです。一度インストールしてしまえば、常に最新バージョンへと自動的にアップデートされ続けます。また、Arch Linuxは必要最小限の構成から始まるディストリビューションのため、システムに何をインストールするかを完全に自分でコントロールできるのも大きな魅力です。さらに、Linuxコミュニティ屈指の充実度を誇る「Arch Wiki」が存在する点も見逃せません。ただし、Arch Linuxで注意すべき点はそのインストールプロセスです。決して心臓の弱い方向けではありま
-
Windows 10 / 11 に Ubuntu をインストールする3つの方法【WSL・USB起動・仮想マシン】
Windows 10 や Windows 11 のパソコンで Ubuntu Linux を使ってみたいと思ったことはありませんか?この記事では、その手順を初心者の方にもわかりやすく解説します。 実は、Windows 上で Ubuntu をインストールして動かす方法はひとつだけではありません。本記事では、代表的な3つのアプローチをご紹介します。① Windows Subsystem for Linux(WSL)を使って Linux コマンドを実行する方法、② USB メモリから直接起動する方法、そして③ 仮想マシン(VM)上で動かす方法です。 それぞれの特徴と手順を順番に見ていきましょう。 方法