1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【図解で比較】mod_phpとphp-fpmの違いとは?PHPを動かす2つの代表的構成を理解する

Last updated at Posted at 2025-05-29

PHPをWebサーバーで実行する方法には複数の構成があります。中でもよく比較されるのが Apache + mod_php構成Nginx/Apache + php-fpm構成 です。

この記事では、それぞれの構造的な違いと仕組みを図解しながら、メリット・デメリットを含めて整理します。


✅ そもそも:PHPはどう動くのか?

PHPは サーバー側で動作するスクリプト言語 で、Webサーバーと連携してリクエストごとにスクリプトを実行し、HTMLなどのレスポンスを生成します。

その実行方式に mod_php(Apache専用)php-fpm(FastCGI方式) の2種類があります。


✅ 構成①:Apache + mod_php(旧来型)

+---------------------+
|     ブラウザ         |
+---------------------+
          ↓
     HTTPリクエスト
          ↓
+---------------------+
| Apache(mod_php)   |
| PHPモジュール内蔵   |
+---------------------+
          ↓
   PHPコードを直接実行
          ↓
+---------------------+
| HTML生成 → ブラウザへ|
+---------------------+

🔍 特徴

  • ApacheがPHPモジュール(mod_php)を内蔵
  • PHPの処理もApacheプロセスの中で完結
  • シンプルで設定も簡単

✅ 構成②:Nginx or Apache + php-fpm(現代型)

+---------------------+
|     ブラウザ         |
+---------------------+
          ↓
     HTTPリクエスト
          ↓
+-----------------------+
| Nginx または Apache   |
| (FastCGI対応)       |
+-----------------------+
          ↓ FastCGI
+-----------------------+
|     php-fpm(別プロセス) |
|     PHP実行エンジン     |
+-----------------------+
          ↓
+-----------------------+
| HTML生成 → ブラウザへ  |
+-----------------------+

🔍 特徴

  • PHPはApache/Nginxとは別プロセス(php-fpm)で実行される
  • WebサーバーはPHP処理をFastCGIで外部に委ねる
  • より柔軟で高速。スケーラビリティ・セキュリティに優れる

✅ 比較表:mod_php vs php-fpm

項目 Apache + mod_php Nginx/Apache + php-fpm
Webサーバー Apacheのみ Nginx or Apache
PHP実行 Apacheプロセス内で実行 外部プロセス(php-fpm)で実行
プロセス分離 ❌ なし(混在) ✅ あり(独立)
同時接続性能 △(Apache依存) ◎(非同期 + プール)
セキュリティ △(Apacheと同一権限) ◎(別ユーザーで動かせる)
設定の簡単さ ◎(簡単) △(構成が分かれる)
現在の主流 廃れつつある ✅ 主流構成

✅ なぜ今は「php-fpm」が主流なのか?

  • Nginxはmod_php非対応 → php-fpm必須
  • PHPとWebサーバーを分離して管理できる
  • プロセスプールによって高負荷時でも安定
  • **セキュリティ上の制御(権限の分離)**がしやすい

✅ 開発環境ではどちらを使うべき?

シーン おすすめ構成
手軽にローカル検証 php -S(組み込みサーバー)
Apacheでシンプルに動かしたい mod_php でも可(古い環境向け)
本番やDocker環境、Nginx使用時 ✅ php-fpm 一択

✅ まとめ

比較項目 mod_php構成 php-fpm構成
WebサーバーとPHPの分離 ❌ 一体型 ✅ 分離構成
高速処理・負荷分散 ✅ 高性能
本番向け ❌ 現代では非推奨 ✅ 主流構成
Nginx対応 ❌ 非対応 ✅ 完全対応

🔚 最後に

PHPをWeb上で動かす仕組みには複数の選択肢がありますが、今後の開発・運用では「php-fpm + Nginx or Apache」構成が最も実用的です

構成の違いを理解すると、環境構築やトラブルシュートがグッと楽になります。
ぜひ自分の開発スタイルに合わせて選んでみてください!

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?