ホームページ >バックエンド開発 >PHPチュートリアル >PHPにおけるCLIとCGIの違いを詳しく解説

PHPにおけるCLIとCGIの違いを詳しく解説

王林
王林オリジナル
2024-03-10 09:39:04433ブラウズ

PHPにおけるCLIとCGIの違いを詳しく解説

タイトル: PHP における CLI と CGI の違いとコード サンプル分析

PHP は、Web サイトや Web アプリケーションの開発に広く使用されているサーバー側スクリプト言語です。 PHP アプリケーションでは、CLI (コマンド ライン インターフェイス) と CGI (共通ゲートウェイ インターフェイス) という 2 つの異なる実行環境が関係することがよくあります。この記事では、これら 2 つの実行環境の詳細な分析を提供し、その違いについて説明し、具体的なコード例で説明します。

1. CLI と CGI の概念

CLI と CGI はどちらも PHP 実行環境ですが、動作方法とアプリケーション シナリオが異なります。

  • CLI: コマンド ライン インターフェイス、コマンド ライン インターフェイス。 CLI 環境の PHP スクリプトはターミナル ウィンドウから直接実行され、通常は一部のシステム タスク、スクリプトのデバッグ、バッチ処理、その他の操作を実行するために使用されます。
  • CGI: Common Gateway Interface、つまり共通ゲートウェイ インターフェイス。 CGI 環境の PHP スクリプトは Web サーバーを通じて実行され、Web リクエストを処理し、クライアント ブラウザに返す動的コンテンツを生成します。

2. CLI と CGI の違い

  1. 実行方法:

    • CLI 環境 PHP以下のスクリプトは、Web サーバーを経由せずにコマンド ラインから直接実行できます。
    • CGI 環境の PHP スクリプトは、Web サーバー (Apache など) によって解釈および実行され、結果がクライアントに返される必要があります。
  2. リクエストの処理:

    • CLI 環境は、主にコマンド ライン タスクの実行とシステム レベルの操作の処理に使用されます。 。
    • CGI 環境は、主に Web リクエストを処理し、ユーザーリクエストに応じて動的コンテンツを生成するために使用されます。
  3. 環境変数:

    • CLI 環境の PHP スクリプトは、HTTP リクエストに関連する環境変数に直接アクセスできません。 $_SERVER など。
    • CGI 環境の PHP スクリプトは、リクエスト ヘッダー情報、リクエスト メソッドなどを含む、HTTP リクエストに関連する環境変数にアクセスできます。

3. コード例

CLI 環境の例:

<?php
// CLI环境下的PHP脚本示例
echo "Hello, CLI Environment!
";
$args = getopt(null, ["name:"]);
if(isset($args['name'])) {
    echo "Hello, " . $args['name'];
}

ターミナルでスクリプトを実行:

php cli_script.php --name=John

CGI 環境の例:

<?php
// CGI环境下的PHP脚本示例
header("Content-Type: text/html");
echo "<h1>Hello, CGI Environment!</h1>";
echo "<p>Your IP address is: " . $_SERVER['REMOTE_ADDR'] . "</p>";

このスクリプトを Web サーバーのディレクトリに配置し、ブラウザからアクセスして効果を確認します。

結論

CLI と CGI の上記の詳細な分析とコード例を通じて、これら 2 つの実行環境の違いを明確に理解できます。開発者にとって、実際のアプリケーションでは、ニーズに応じて適切な実行環境を選択する必要があります

以上がPHPにおけるCLIとCGIの違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。