PHPの実行モードとは?CGI・CLI・モジュールの違いと使い分け

WebサーバーやコマンドラインからPHPを実行する際、その実行モードによって挙動や設定が異なることをご存知でしょうか?PHPには主に「モジュール(Apache Module)」「CGI」「CLI」の3つの実行モードがあり、それぞれに適した使い分けが求められます。本記事では、各実行モードの特徴と使い分けについて詳しく解説します。

モジュール版(Apache Module)とは?

Apacheと連携して動作するPHPの実行モードです。mod_phpとも呼ばれ、Apacheのプロセス内で直接PHPを処理します。

特徴

  • 高速な実行が可能(プロセス生成のオーバーヘッドがない)
  • .htaccess によるPHP設定の上書きが可能
  • Apache専用で、Nginxとは組み合わせ不可

使用例

# Apacheにmod_phpをインストールする例(Debian系)
sudo apt install libapache2-mod-php

向いているケース

  • 小〜中規模のWebサイト
  • Apache単体で完結している環境

CGI(Common Gateway Interface)とは?

WebサーバーがPHPスクリプトごとにプロセスを生成して実行する方式。古くからある方式で、現在は「FastCGI」経由で実行するのが一般的です。

特徴

  • プロセスが独立しているため、安定性が高い
  • パフォーマンスは低め(プロセス生成のコストがかかる)
  • セキュリティ上の理由で共有ホスティングで使われることが多い

FastCGIとの違い

  • FastCGIはCGIのパフォーマンス問題を解決するため、プロセスを再利用する仕組み

使用例

# Nginx + PHP-FPM の構成(FastCGI)
sudo apt install php-fpm

向いているケース

  • Nginxとの連携環境
  • 高速な処理が必要な大規模サイト

CLI(Command Line Interface)とは?

ターミナル上で直接PHPを実行するモードです。バッチ処理やスクリプト作成に利用されます。

特徴

  • Webサーバーを介さず、直接実行される
  • 環境変数や$_SERVERなど一部のグローバル変数が未定義
  • php -v, php script.phpなどの形式で実行

使用例

# PHPバージョン確認
php -v

# スクリプトの実行
php backup.php

向いているケース

  • バッチ処理やcronジョブ
  • Laravelなどのフレームワークでのartisanコマンド

PHPの実行ユーザーとは?

PHPの実行時に重要なもう一つの要素が「実行ユーザー」です。これは、PHPスクリプトがOS上でどのユーザー権限で動作するかを指します。

実行ユーザーの確認方法

Apacheモジュール版の場合:

Apache自体のプロセスユーザーに依存します。

ps aux | grep apache

または:

ps aux | grep httpd

CGI/FastCGI(php-fpm)使用時:

php-fpm の設定ファイル www.conf にてユーザーが指定されています。

user = www-data
group = www-data

CLI実行時:

シェルで実行しているユーザーがそのまま使用されます。

whoami

実行ユーザーの重要性

  • ファイル操作時のアクセス権限に関係
  • セキュリティ事故防止のため、rootではなく制限されたユーザーを使うべき
  • ログの所有者やパーミッション管理の原因になりやすい

対策

  • php-fpmのuser/groupを適切に設定
  • ファイル・ディレクトリに適切な権限(例:755や644)を設定
  • サーバー上での不要な権限の付与を避ける

まとめ:状況に応じて実行モードを使い分けよう

PHPは実行モードによって最適な用途が異なります。Apacheとの親和性を活かしたいなら「モジュール」、Nginxとの併用や高パフォーマンスが必要な場合は「FastCGI」、バッチ処理や開発では「CLI」といったように、目的に応じて使い分けることが重要です。

さらに、実行ユーザーの設定もPHPの安定稼働とセキュリティに直結します。実行モードと合わせて、ユーザー権限の管理も忘れずに行いましょう。

それぞれの特徴を理解して、最適なPHP環境を構築しましょう。

Contact

ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい

ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。

デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。