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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-29 00:37:10908ブラウズ

How do I Determine if a PHP Script is Executed via Command Line or HTTP Request?

PHP でのコマンドライン実行と HTTP 実行の区別

PHP スクリプトがコマンドラインまたは HTTP リクエストのどちらを介して実行されるかを決定することが重要です出力形式をカスタマイズするため。 SERVER['argc'] 変数を検査することは有効な方法のように思えるかもしれませんが、Apache の「Apache 2.0 Handler」サーバー API を使用した場合でも、常に正確であるとは限りません。

このタスクを実行するための標準的なメソッドは、php_sapi_name() function.

if (php_sapi_name() == "cli") {
    // In cli-mode
} else {
    // Not in cli-mode
}

で指定されているとおりPHP ドキュメント:

php_sapi_name は、Web サーバーと PHP の間のインターフェイスのタイプを返します。

考えられる戻り値には、「apache2handler」、「cgi」、「cli、 " "isapi"、"litespeed" など

あるいは、 PHP_SAPI 定数。PHP バージョン 4.2.0 で導入された php_sapi_name() と同じ値を持ちます。

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

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