ホームページ > バックエンド開発 > PHPチュートリアル > PHP スクリプトがコマンドラインで実行されているか、HTTP 経由で実行されているかを確認するにはどうすればよいですか?

PHP スクリプトがコマンドラインで実行されているか、HTTP 経由で実行されているかを確認するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-15 18:33:03
オリジナル
894 人が閲覧しました

How to Determine if a PHP Script is Running on the Command Line or via HTTP?

PHP でのスクリプト実行モードの決定

PHP スクリプトがコマンドライン経由で実行されるか HTTP 経由で実行されるかを決定することは、さまざまな目的で重要です。出力フォーマットなど。歴史的には、SERVER['argc'] 変数をチェックすることが標準的なアプローチであると考えられていました。ただし、このメソッドは、コマンドライン実行でも SERVER['argc'] を設定するため、Apache 2.0 ハンドラー サーバー API を使用する場合は信頼性が低いことがわかります。

推奨されるより堅牢な方法は、php_sapi_name() 関数を使用することです。 。 Web サーバーと PHP 間のインターフェイスのタイプを示す文字列を返します。例は次のとおりです。

  • コマンドライン実行の場合は「cli」
  • Apache 2.0 ハンドラーサーバー API の実行の場合は「apache2handler」

例コード:

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}
ログイン後にコピー

ドキュメントノート:

php_sapi_name() 関数のドキュメントに詳細情報が記載されています:

  • 可能な戻り値: 網羅的ではありませんが、関数は値を返す場合があります。 「apache」、「cgi」、「nsapi」、「tux」など、さまざまなサーバー API を表します。
  • PHP >= 4.2.0: PHP では、事前定義された定数が導入されました。 PHP_SAPI。php_sapi_name().
と同じ値を保持します。

以上がPHP スクリプトがコマンドラインで実行されているか、HTTP 経由で実行されているかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート