Linux環境でPHPをインストールする方法を解説
本記事ではLinux環境にPHPをインストールする手順を解説します。
各ディストリビューションごとのコマンドや必要な依存ライブラリの設定方法、動作確認のポイントなど、初心者でも分かりやすいように丁寧に説明します。
PHP環境構築の基本知識を身につけるための情報を提供します。
前提条件と環境確認
この記事では、PHPのバージョンやOSディストリビューションの違いによる違いを考慮した環境確認の手順を示します。
対象システムの情報を正確に把握することで、スムーズなインストールを実現することが可能になります。
PHPバージョンの選定
PHPはさまざまなバージョンが公開されています。
実行環境や必要な拡張モジュールに合わせて、適切なバージョンを選定してください。
バージョン選定の際は以下の点に注意します。
- セキュリティサポートが存在するバージョンであるか
- Webアプリケーションやフレームワークの対応バージョンであるか
- 利用する拡張モジュールが選定したバージョンと互換性があるか
例えば、最新の安定版やLTS(長期サポート版)のどちらを選ぶかによって、利用コマンドも変わる場合があります。
OSディストリビューションの確認
PHPインストールの手順は、利用する OSディストリビューションによって異なります。
ここでは、主に Ubuntu/Debian系と CentOS/RedHat系について確認します。
Ubuntu/Debian系
UbuntuやDebian系のディストリビューションでは、apt
やapt-get
を利用して PHP をインストールするのが一般的です。
必ずシステムのリポジトリが最新の状態であることを確認してから操作を行ってください。
CentOS/RedHat系
CentOSやRedHat系では、yum
やdnf
を利用する方法が一般的です。
PHPの追加リポジトリ(例えば、EPELリポジトリやRemiリポジトリ)を設定することで、より新しい PHP バージョンの入手が可能になります。
PHPインストール方法
PHPのインストールには、まずリポジトリのパッケージリストを更新し、その後本体のインストールを実施します。
ここでは各ディストリビューションごとに手順を整理します。
パッケージリストの更新
パッケージリストの更新を行うことで、システムに登録されているリポジトリから最新の情報を取得します。
これにより、最新の PHP バージョンや関連パッケージがインストール可能になります。
Ubuntu/Debian系の場合
UbuntuやDebian系では、apt-get update
やapt update
のコマンドを利用します。
以下はサンプルです。
# パッケージリストを更新
sudo apt update
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
...
CentOS/RedHat系の場合
CentOSやRedHat系では、yum clean all
またはdnf clean all
でキャッシュをクリアした後、パッケージ情報の更新を行います。
以下はサンプルです。
# キャッシュクリアとパッケージリストの更新(yumの場合)
sudo yum clean all
sudo yum check-update
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
...
PHP本体のインストール
PHP本体のインストールでは、先述のパッケージリストを元に、PHP本体と基本的なモジュールをインストールします。
Ubuntu/Debian系の手順
UbuntuやDebian系では、PHPは以下のようにインストールします。
バージョン指定が必要な場合は、php7.4
やphp8.0
などと指定する例もあります。
# PHP本体をインストール(例:PHP 8.0の場合)
sudo apt install php8.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
php8.0-cli php8.0-common php8.0-fpm ...
...
CentOS/RedHat系の手順
CentOSやRedHat系の場合、リポジトリの設定が必要な場合があります。
Remiリポジトリを利用してPHP 8.0をインストールする例です。
# Remiリポジトリの有効化(例)
sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# PHP 8.0を有効にするためのモジュールを有効化
sudo yum-config-manager --enable remi-php80
# PHP本体のインストール
sudo yum install php
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:8.0.3-1.el7.remi will be installed
...
PHP拡張モジュールの追加
PHPの基本的な機能以外に、用途に合わせた拡張モジュールを追加することで、より幅広い機能を実現できます。
主要モジュールの選定
よく利用されるモジュールとしては、以下が挙げられます。
- MySQL連携の
php-mysql
またはphp-mysqli
- XML操作のための
php-xml
- JSONサポートのための
php-json
- キャッシュ機能のための
php-mbstring
- 画像処理のための
php-gd
システムの用途に合わせて必要なモジュールを選んでください。
モジュールの追加方法
各ディストリビューションで拡張モジュールの追加方法は以下のようになります。
Ubuntu/Debian系の場合
# 例:MySQL連携モジュールとXMLモジュールをインストール
sudo apt install php-mysql php-xml
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
php-mysql php-xml
...
CentOS/RedHat系の場合
# 例:MySQL連携モジュールとXMLモジュールをインストール
sudo yum install php-mysqlnd php-xml
Loaded plugins: fastestmirror, langpacks
Resolving Dependencies
--> Running transaction check
---> Package php-mysqlnd.x86_64 0:8.0.3-1.el7.remi will be installed
...
設定確認と動作テスト
PHPのインストール後は、正しく設定が反映されているか、動作テストを行うことで環境が正しく構築されていることを確認します。
PHP設定ファイルの確認
PHPの動作設定は主に php.ini
に記述されています。
動作に必要な設定変更がないか確認し、必要に応じて編集を行ってください。
php.iniの配置と変更
通常、php.ini
は以下のパスに配置されています。
- Ubuntu/Debian系:
/etc/php/8.0/cli/php.ini
または/etc/php/8.0/apache2/php.ini
- CentOS/RedHat系:
/etc/php.ini
設定変更の例として、エラーレポートレベルの変更を行う場合は、以下のように編集してください。
; エラーレポートを必要なレベルに設定(例:E_ALLを追跡)
error_reporting = E_ALL
display_errors = On
変更後は、Webサーバの再起動が必要な場合があります。
Webサーバの種類に応じた手順を参照してください。
インストール状況の確認
PHPが正しくインストールされたかを以下の方法で確認します。
コマンドラインでのPHPバージョン確認
コマンドラインから簡単に PHP のバージョン情報を確認できます。
以下のコマンドを実行して、表示されるバージョン情報を確認してください。
php -v
PHP 8.0.3 (cli) (built: Feb 3 2021 07:45:12) ( NTS )
Copyright (c) The PHP Group
...
Webサーバ連携のチェック
PHPの動作確認として、Webサーバとの連携テストも重要です。
Webサーバごとに確認方法が異なります。
Apacheの場合
Apacheと連携してPHPが正しく動作しているか確認するために、phpinfo()
を表示する簡単なテストファイルを作成します。
<?php
// phpinfo.php を作成して、ブラウザからアクセス
echo phpinfo();
?>
Webサーバのドキュメントルートに上記ファイルを配置し、ブラウザで http://your_domain_or_ip/phpinfo.php
にアクセスしてください。
PHPの設定情報が一覧表示されれば連携は正常です。
Nginxの場合
Nginxでは、PHP-FPM を利用して PHP を実行します。
設定ファイル /etc/nginx/conf.d/default.conf
や /etc/nginx/sites-enabled/your_site
に PHP の設定があるか確認してください。
まずは phpinfo() を利用したテストファイルを作成し、正しく表示されるかを確認します。
<?php
// phpinfo.php を作成して、ブラウザからアクセス
echo phpinfo();
?>
上記のファイルをWebサーバのドキュメントルートに配置後、ブラウザで http://your_domain_or_ip/phpinfo.php
にアクセスして動作をチェックしてください。
また、NginxとPHP-FPM間の連携設定が正しく行われていることを、エラーログなどで確認すると安心です。
まとめ
この記事では、PHPをLinux環境にインストールするための環境確認、パッケージ更新、PHP本体および拡張モジュールの追加、設定ファイル確認と動作テストを実施しました。
全体の流れを把握することで、各ディストリビューションごとの手順が理解できる内容となりました。
早速、お使いの環境で実践してみてください。