非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Xserver VPS】PHP 8.4環境の構築とNginxとの連携手順

   

サーバー基盤としてのNginx、データベースとしてのMySQLを導入した前回に続き、今回は動的コンテンツの処理を担うPHP環境の構築手順を解説します。Ubuntu 25.04のパッケージマネージャーを用い最新のPHP 8.4を導入し。Nginxとの連携においてはTCPソケットではなくよりオーバーヘッドの少ないUnixドメインソケットを用いたPHP-FPMの設定手法を採用しました。

1. PHP 8.4 および関連モジュールのインストール

Webアプリケーション開発に不可欠なPHP本体、およびデータベース連携や文字列処理のための拡張モジュールを一括で導入します。

# パッケージリストの更新
sudo apt update

# PHP 8.4本体、FPM、および主要モジュールのインストール
sudo apt install -y php8.4-fpm php8.4-mysql php8.4-common php8.4-cli php8.4-curl php8.4-gd php8.4-mbstring php8.4-xml php8.4-zip

# 依存関係にある共通ツールの導入
sudo apt install -y unzip zip git
 

 

2. PHP-FPM サービスの稼働確認

インストールされたサービスが正常にデーモンとして起動しているか、またNginxとの接点となるソケットファイルが生成されているかを確認します。

# サービスの稼働ステータス確認(「Active: active (running)」を確認)
systemctl status php8.4-fpm

# ソケットファイルの存在確認
ls -l /run/php/php8.4-fpm.sock
 

 

3. Nginx 構成ファイルの最適化

NginxがPHPファイルを処理できるよう、デフォルトの設定ファイルを編集します。優先順位の設定と、PHP-FPMへの転送設定(FastCGI)を行います。
【設定変更のポイント】

  • index 行の先頭に index.php を追加し、優先度を上げる。
  • location ~ \.php$ ブロックを有効化し、fastcgi_pass に先ほど確認した .sock パスを指定する。
# 設定ファイルの編集
sudo nano /etc/nginx/sites-available/default

# --- 設定ファイル抜粋 ---
index index.php index.html index.htm;

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

 

4. 設定の反映と構文チェック

設定を反映させる前に、構文エラーがないかを厳密にチェックします。

# Nginx設定の構文チェック
sudo nginx -t

# 設定の再読み込み
sudo systemctl restart nginx
 

 

5. 実行環境の最終検証

サーバー上で実際にPHPが解釈されているか、phpinfo() を用いて検証します。

# テスト用PHPファイルの作成
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/test.php
 

 

ブラウザで https://ドメイン名/test.php にアクセスし、PHPの構成情報(紫色のダッシュボード)が表示されることを確認します。

 

 

検証が終わったらセキュリティのために以下のコマンドでテストファイルを削除しましょう。

sudo rm /var/www/html/test.php
 

 

 

スポンサーリンク

 - PHP, Xserver VPS