Linux環境でWebアプリケーションを開発・運用する際、PHPのインストールは最も基本的かつ重要なステップです。
2026年現在、PHPはパフォーマンスの向上と型システムの強化により、大規模なエンタープライズシステムから個人のマイクロサービスまで幅広く採用されています。
Linuxディストリビューションごとにパッケージ管理システムや推奨されるリポジトリが異なるため、自身の環境に適した手順を選択することが安定稼働への近道となります。
本記事では、主要なLinuxディストリビューションにおける最新のPHPインストール手順と、環境構築時に配慮すべき設定のポイントを詳しく解説します。
PHPをLinuxに導入する前の準備
PHPをインストールする前に、まずは対象となるLinuxサーバーのOSバージョンと、既存のパッケージの状態を確認しておく必要があります。
古いバージョンのPHPが既にインストールされている場合、新しく導入するバージョンと競合を起こす可能性があるため、システムのクリーンアップと更新を最初に行います。
また、PHP単体では動作しても、Webサーバー (ApacheやNginx) やデータベース (MySQLやPostgreSQL) との連携が必要です。
インストール作業を始める前に、どのような拡張モジュールが必要になるかをリストアップしておくと、作業がスムーズに進みます。
システムアップデートの実行
どのディストリビューションを使用している場合でも、最初にリポジトリ情報を最新の状態に更新し、既存のパッケージをアップデートしてください。
# Ubuntu/Debian系の場合
sudo apt update && sudo apt upgrade -y
# RHEL/AlmaLinux系の場合
sudo dnf update -y
これにより、依存関係の不整合を防ぎ、セキュリティパッチが適用された安全なベース環境でインストールを開始できます。
Ubuntu・Debian系でのPHPインストール
UbuntuやDebianでは、標準リポジトリからもPHPをインストールできますが、最新のマイナーバージョンや特定の旧バージョンを利用したい場合は、サードパーティのリポジトリを利用するのが一般的です。
Ondřej Surý氏のPPAを活用する
Ubuntu環境において、最新のPHPを導入するための最も信頼性の高い方法は、Ondřej Surý氏がメンテナンスしているPPA (Personal Package Archive)を追加することです。
これにより、OSの公式リリースを待たずに最新のPHPを利用可能になります。
リポジトリの追加手順
まず、リポジトリを追加するためのツールをインストールし、PPAを登録します。
# 必要なツールのインストール
sudo apt install -y software-properties-common
# PPAの追加 (Ubuntu)
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
Debianの場合は、PPAの代わりに氏が提供しているDEBリポジトリを直接登録する手順になります。
PHP本体と共通モジュールのインストール
リポジトリの準備ができたら、PHP本体と、頻繁に使用される拡張モジュールをまとめてインストールします。
ここではPHP 8.4を例に説明します。
# PHP 8.4と主要モジュールのインストール
sudo apt install -y php8.4 php8.4-fpm php8.4-cli php8.4-common php8.4-mysql php8.4-xml php8.4-curl php8.4-mbstring php8.4-zip
インストール完了後、以下のコマンドでバージョンを確認してください。
php -v
PHP 8.4.x (cli) (built: ...) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.4.x, Copyright (c) Zend Technologies
with Zend OPcache v8.4.x, Copyright (c), by Zend Technologies
php8.4-fpm は、NginxなどのWebサーバーと連携する際に必要となるプロセス管理ツールです。
Apacheを使用する場合は、代わりに libapache2-mod-php8.4 を使用することが多いですが、パフォーマンス面から FPM (FastCGI Process Manager) の利用が推奨されます。
RHEL・AlmaLinux・Rocky Linux系でのPHPインストール
RHEL (Red Hat Enterprise Linux) 系のクローンであるAlmaLinuxやRocky Linuxでは、標準の dnf リポジトリに含まれるPHPのバージョンが固定されていることが多いです。
最新版を利用するには、Remiリポジトリを利用するのが標準的な構成です。
Remiリポジトリの有効化
まず、EPEL (Extra Packages for Enterprise Linux) リポジトリをインストールし、その後にRemiリポジトリを追加します。
# EPELリポジトリのインストール
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
# Remiリポジトリのインストール
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
PHPモジュールの切り替えとインストール
RHEL系では「モジュール」という仕組みを使ってPHPのバージョンを管理します。
標準のPHPモジュールをリセットし、Remiリポジトリの最新ストリームを有効化します。
# 標準のPHPモジュールをリセット
sudo dnf module reset php -y
# PHP 8.4ストリームを有効化
sudo dnf module enable php:remi-8.4 -y
# インストールの実行
sudo dnf install -y php php-cli php-fpm php-common php-mysqlnd php-xml php-gd php-mbstring php-opcache
RHEL系では、インストール後にサービスを起動し、自動起動設定を行う必要があります。
# PHP-FPMの起動と有効化
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
注意点: SELinuxが有効な環境では、WebサーバーとPHP-FPMの通信がブロックされることがあります。
必要に応じて適切なポリシー設定を行ってください。
ソースコードからのビルドとインストール
特定のコンパイルオプションが必要な場合や、パッケージマネージャーで提供されていない最新のアルファ版をテストしたい場合は、ソースコードからビルドします。
これは自由度が高い反面、依存関係の解決やアップデートを手動で行う必要がある上級者向けの手法です。
ビルド環境の準備
ビルドにはコンパイラや開発用ライブラリが必要です。
# Ubuntu/Debian系
sudo apt install -y build-essential libxml2-dev libsqlite3-dev pkg-config zlib1g-dev libcurl4-openssl-dev libssl-dev
# RHEL系
sudo dnf groupinstall "Development Tools"
sudo dnf install -y libxml2-devel sqlite-devel pkgconfig zlib-devel libcurl-devel openssl-devel
コンパイルとインストール
PHP公式サイトからソースアーカイブをダウンロードし、展開したディレクトリで以下の手順を実行します。
# 設定 (一例)
./configure --prefix=/usr/local/php84 \
--enable-fpm \
--with-mysqli \
--with-openssl \
--with-curl \
--enable-mbstring
# ビルドとインストール
make -j$(nproc)
sudo make install
--prefix を指定することで、システム標準のパスを汚さずに特定のディレクトリへインストールできます。
これにより、複数のバージョンを共存させることが容易になります。
PHP拡張機能の管理と設定
PHPのインストールが完了したら、アプリケーションに必要な拡張機能が正しく動作しているか確認します。
PHPには、標準で組み込まれているもの以外に、動的にロードする拡張機能が多数存在します。
インストール済み拡張機能の確認
現在有効になっているモジュールの一覧を表示するには、以下のコマンドを使用します。
php -m
| 拡張機能名 | 用途 |
|---|---|
| mbstring | マルチバイト文字列処理 (日本語対応に必須) |
| openssl | 暗号化通信、SSL/TLSサポート |
| pdo_mysql | MySQLデータベースへの接続 (PDO経由) |
| gd / imagick | 画像加工・生成処理 |
| opcache | 実行コードのキャッシュによる高速化 |
不足しているものがある場合は、パッケージ管理システム (aptやdnf) を通じて追加インストールしてください。
php.ini の基本設定
PHPの動作を制御する設定ファイル php.ini を編集します。
設定ファイルの場所は php --ini で確認できます。
主な設定変更推奨項目は以下の通りです。
- memory_limit: スクリプトが使用できる最大メモリ量。128M〜512M程度が一般的です。
- upload_max_filesize / post_max_size: ファイルアップロードを許可する場合、適切なサイズに引き上げます。
- date.timezone:
Asia/Tokyoに設定します。 - error_reporting: 開発環境では
E\_ALL、本番環境ではエラーを画面に出さない設定にします。
; php.ini の設定例
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 25M
date.timezone = "Asia/Tokyo"
display_errors = Off
log_errors = On
設定を変更した後は、必ず PHP-FPMまたはWebサーバーの再起動を行ってください。
sudo systemctl restart php8.4-fpm
Webサーバー (Apache/Nginx) との連携設定
インストールしたPHPをWebブラウザ経由で利用するには、Webサーバーとの橋渡し設定が必要です。
Nginxとの連携 (PHP-FPM)
NginxはPHPを直接実行できないため、FastCGI経由でPHP-FPMにリクエストを転送します。
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# Unixソケットを使用する場合
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
}
}
Unixソケットを使用することで、TCPループバック経由よりも低レイテンシで通信が可能になります。
Apacheとの連携
Apacheの場合、mod\_php を使う方法もありますが、2026年現在のモダンな構成ではApacheからもPHP-FPMを呼び出す proxy\_fcgi の利用が一般的です。
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.4-fpm.sock|fcgi://localhost"
</FilesMatch>
この設定により、Apacheのマルチプロセスモジュール (MPM) を event モードで動作させることができ、大量の同時接続を効率的に処理できるようになります。
PHPの動作確認と初期設定の最適化
すべての設定が完了したら、実際にPHPがWebサーバー経由で動作するか確認します。
info.phpによる確認
ドキュメントルートに以下の内容を含む info.php ファイルを作成します。
<?php
// PHPの情報を表示
phpinfo();
ブラウザで http://サーバーのIPアドレス/info.php にアクセスし、PHPの情報画面が表示されれば成功です。
確認後はセキュリティ上のリスクとなるため、必ずこのファイルを削除してください。
OPcacheによるパフォーマンス最適化
本番環境では、PHPの実行速度を劇的に向上させる OPcache の有効化が必須です。
PHP 8以降、OPcacheにはJIT (Just-In-Time) コンパイル機能も含まれています。
php.ini または 10-opcache.ini 等に以下の設定が含まれているか確認してください。
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.validate_timestamps=0 ; 本番環境では0にしてファイル監視をオフにする
これにより、PHPスクリプトのコンパイル済みバイトコードが共有メモリに保存され、2回目以降の実行が高速化されます。
まとめ
Linux環境へのPHPインストールは、ディストリビューションごとの特性を理解し、適切なリポジトリを選択することから始まります。
Ubuntu/Debian系であればPPA、RHEL系であればRemiリポジトリを活用することで、常に最新かつ安全なPHP環境を維持することが可能です。
インストール手順の要点を振り返ると以下の通りです。
- OSのアップデートを行い、クリーンな状態から開始する。
- 環境に合わせてパッケージマネージャーまたはソースビルドを選択する。
php-fpmを中心としたモダンな構成を採用し、Webサーバーと適切に連携させる。- PHP拡張機能とphp.iniを適切に設定し、特にOPcacheなどの最適化を忘れない。
PHPは進化を続けており、新しいバージョンではメモリ効率の改善や新しい構文の導入が積極的に行われています。
本記事の手順を参考に、堅牢で高パフォーマンスなPHP実行環境を構築してください。
継続的なメンテナンスとして、OSのセキュリティアップデートと共にPHPのマイナーバージョン更新も定期的に実施することをお勧めします。
