【PHP】CGI版とCLI版の違いについて
目次
CGI版
CGIとはCommon Geteway Interface
の略で、Webサーバー
経由で実行される方式
- CGI版とは別に、Webサーバーにビルドインされている
モジュール版
というものもある。
モジュール版とCGI版の違い
- CGI版:php.exeのような実行形式ファイルを実行しているイメージ(XAMPP,MAMP)
php.ini
ファイルなどでディレクトリによって実行するPHPのバージョンを切り替える事ができる- 実行速度がモジュール版に比べて遅くなる
- モジュール版:Apach内部のプロセスとしてPHPを実行する(Apach内部から呼び出す)
- 内部で処理できるので、処理がモジュール版と比べて高速
- 実行するPHPのバージョンをディレクトリによって切り替えることはできない
CLI版
CLIとはCommand Line Interface
の略で、OSコマンド
として実行できる方式
以下のように、phpコマンドの引数にファイルを渡すことで実行結果が表示される
1 |
|
主な違い
出力結果が主な違いとして挙げられます。
以下のようなPHPファイルを実行したときに
1 |
|
CGI
- ヘッダー情報が自動で付与される
1
2
3
4X-Powered-By: PHP/8.0.0
Content-type: text/html
test
- ヘッダー情報が自動で付与される
CLI
1
test
今実行しているPHPがどっち版なのかを確認する
コマンドラインで、以下のコマンドを実行するとCLI
なのかCGI
なのか確認できる((cli)
の部分)
この実行結果の場合、CLI版
1 |
|
【PHP】CGI版とCLI版の違いについて