1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【図解で理解】PHPが動く仕組みとは?Webサーバー〜レスポンスまでの流れを完全解説

Last updated at Posted at 2025-05-29

PHPはサーバーサイドのスクリプト言語として広く使われていますが、「実際にPHPがどうやって動くのか?」をきちんと理解している人は意外と少ないかもしれません。

この記事では、Webサーバー(NginxやApache)からPHPファイルが実行されてブラウザにレスポンスが返るまでの流れを、図解付きでわかりやすく解説します。


✅ 全体の流れ(HTTPリクエストからレスポンスまで)

まずは、ブラウザでURLを叩いてから画面に何かが表示されるまでの流れを、ざっくり図解します。

[ブラウザ]
   ↓ HTTP/HTTPSリクエスト(例: URLアクセス)
[Webサーバー(NginxやApache)]
   ↓ PHPファイルであれば処理を外部に渡す(FastCGI)
[PHP実行エンジン(php-fpmなど)]
   ↓ PHPコードを解釈・実行し、HTMLなどのレスポンスを生成
[Webサーバー]
   ↓
[ブラウザにHTMLを返却 → 表示]

✅ 詳細構造の図解(コンポーネントごとの役割)

PHPが実際にどこでどのように動いているのかを、構造図で整理してみましょう。

+---------------------+         リクエスト          +--------------------+
|      ブラウザ        |  ----------------------->  | Nginx / Apache      |
|  (ユーザーのPCやSP)  |                             | (80番 or 443番ポート)|
+---------------------+                             +--------------------+
                                                           |
                                                           | FastCGI(プロトコル)
                                                           v
                                                +------------------------+
                                                |    php-fpm             |
                                                |  (PHP実行エンジン)   |
                                                +------------------------+
                                                           |
                                                           v
                                              +--------------------------+
                                              | LaravelやPHPファイル本体 |
                                              |   (Controller, Model等)|
                                              +--------------------------+

✅ 通信プロトコルのイメージ(FastCGI)

[Nginx or Apache]
   ↓ FastCGI(通信プロトコル)
[php-fpm]
   ↓
[PHPコード実行(Laravelなど)]

✅ 処理のステップを1つずつ解説

ステップ 内容
ユーザーがブラウザでURLを開く(HTTPまたはHTTPSリクエスト)
Webサーバー(NginxやApache)がそのリクエストを受け取る
.php ファイルへのアクセスなら、FastCGIでphp-fpmに処理を依頼
php-fpmがPHPコードを読み込み、1行ずつインタプリタとして解釈
データベースやファイルにアクセスしてHTMLを生成
生成されたHTMLがWebサーバーに返される
WebサーバーがそのHTMLをブラウザに返却
ブラウザに画面が表示される

✅ 各コンポーネントの役割まとめ

コンポーネント 役割
ブラウザ ユーザーがアクセスするフロントエンド
Webサーバー(Nginx / Apache) リクエスト受付&PHP処理の振り分け
FastCGI Webサーバーとphp-fpmをつなぐプロトコル
php-fpm PHPコードを実際に実行するエンジン
PHPコード(Laravelなど) アプリのロジック。ルーティングやDB処理などを行う

✅ 補足:php-fpmとは?

  • 正式名:PHP FastCGI Process Manager
  • FastCGIプロトコルを介してPHPの実行を担当
  • 複数のPHPプロセスをプールし、高速にレスポンスを返せる
  • LaravelなどモダンなPHPアプリは基本的にphp-fpmを介して実行される

✅ まとめ

  • PHPは「インタプリタ型」言語で、php-fpmという実行エンジンで処理される
  • Webサーバーはリクエストを受付け、php-fpmにPHPファイルの処理を依頼する
  • 最終的に生成されたHTMLがブラウザに返されて画面に表示される

🔚 最後に

このように、PHPが動く仕組みを理解することで、Webアプリケーションのトラブルシューティングや設計の理解が格段に深まります

今後は以下のような関連テーマも学ぶとさらにレベルアップできます。

  • PHP-FPMの設定(子プロセスの管理など)
  • Laravelのリクエストライフサイクル
  • NginxやApacheの構成と最適化

ご参考になれば幸いです!

1
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?