【PHP実践|実務向け】RHEL系OSにおけるPHP環境構築:DNFを利用した効率的なパッケージ管理術

1. 導入

RHEL、Fedora、CentOS Stream、AlmaLinux、Rocky LinuxといったDNF(Dandified YUM)を採用するLinuxディストリビューションにおいて、PHPのインストールは非常にスムーズです。しかし、実務では単にPHPをインストールするだけでなく、アプリケーションが必要とする拡張モジュールの管理や、サービス再起動のタイミングなど、正しい手順を知っておくことが安定稼働への鍵となります。本稿では、DNF環境での適切なPHP導入手順と管理のベストプラクティスを解説します。

2. 基礎知識

DNFは、RPMパッケージ管理システムの高度なフロントエンドツールです。PHPをインストールする際、依存関係(例えばPHPが動作するために必要なライブラリなど)を自動的に解決してくれるため、ソースコードからのビルド(コンパイル)よりも保守性が圧倒的に高くなります。
ここで重要なのは「公式リポジトリ」と「サードパーティリポジトリ」の区別です。OS標準のリポジトリで提供されるPHPは、そのOSベンダーによる長期サポートが保証されていますが、最新バージョンを追う場合はRemiリポジトリなどの外部リポジトリを利用することもあります。

3. 実装/解決策

実務におけるPHP構築の手順は、以下の3ステップが基本です。
1. パッケージリストの最新化
2. 必要パッケージの選定とインストール
3. Webサーバー(ApacheやNginx)の再起動による構成反映

特に注意すべきは、`php-common`などのコアパッケージだけでなく、DB接続用の`php-mysqlnd`や画像処理用の`php-gd`など、アプリケーションの要件に合わせた拡張機能の追加です。

4. サンプルプログラム

以下のコマンドは、実務で頻繁に使用する標準的なインストール手順です。

1. パッケージリストを最新の状態に更新する
sudo dnf update -y

2. PHP本体と、実務で必須となる共通ライブラリをインストール
php-fpmはNginx等の外部Webサーバー連携に不可欠です
sudo dnf install -y php php-common php-cli php-fpm

3. 必要に応じてデータベース接続や画像処理ライブラリを追加インストール
mysqlndはMySQL/MariaDB連携に、gdは画像加工に必須
sudo dnf install -y php-mysqlnd php-gd php-mbstring php-xml

4. インストールした拡張機能が正しくロードされているか確認
php -m | grep -E ‘mysql|gd|mbstring’

5. Webサーバー(Apacheの場合)を再起動して設定を適用
sudo systemctl restart httpd

5. 応用・注意点

現場で陥りやすいトラブルとして、「設定ファイルを編集したのに反映されない」という問題があります。PHPの設定変更(php.iniの編集など)を行った際は、必ずWebサーバー(Apacheであればhttpd、PHP-FPMを使用している場合はphp-fpmサービス)の再起動が必要です。

また、依存関係の自動解決に頼りすぎると、意図しないバージョンのパッケージがインストールされることがあります。特定のプロジェクトでバージョンを固定する必要がある場合は、`dnf module`コマンドを利用して、PHPのストリーム(バージョン)を明示的に指定(例: `dnf module enable php:8.2`)することを強く推奨します。これにより、OSのアップグレード時などに予期せずPHPがメジャーアップデートされるリスクを回避できます。

タイトルとURLをコピーしました