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

Patricia Arquette
リリース: 2024-11-16 12:13:03
オリジナル
322 人が閲覧しました

How Can I Reliably Determine if My PHP Script is Running from the Command Line or via HTTP?

PHP でのコマンドライン実行と HTTP 実行の決定

PHP スクリプト開発の一般的なタスクは、実行環境のタイプを決定することです。スクリプトはコマンドラインまたは HTTP 経由で実行されます。この知識は、出力の書式設定を決定し、それに応じて動作をカスタマイズするために非常に重要です。

SERVER['argc'] の存在を確認する従来の方法は、「Apache」を使用している場合でも設定される可能性があるため、信頼できません。 2.0 ハンドラーのサーバー API。このクエリを解決する標準的な方法は、php_sapi_name() 関数を利用することです。

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

php_sapi_name() 関数は、aolserver、apache、apache2filter、apache2handler、caudium、cgi、cli、webjames などを含む幅広い戻り値を提供します。完全なリストについては、PHP ドキュメントを参照してください。

さらに、PHP >= 4.2.0 では、事前定義定数 PHP_SAPI は php_sapi_name() と同じ値を保持します。この定数を利用することで、開発者はコードの可読性と保守性を向上させることができます。

この標準的なアプローチに従うことで、PHP 開発者はスクリプトの実行環境を確実に決定し、ターゲットを絞った出力フォーマットやカスタマイズされた動作の調整が可能になります。

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

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