【PHP8.x】php_sapi_name関数の使い方

作成日: 更新日:

php_sapi_name関数は、PHPが現在動作しているSAPI(Server API)の種類を示す文字列を取得する関数です。

SAPIとは、PHPがWebサーバーやコマンドラインインターフェースなどの外部環境とどのように連携して動作するかを定義するインターフェースのことです。PHPは、Webサーバーのモジュールとして動作したり、CGI/FastCGIプロセスとして動作したり、あるいはコマンドラインから直接スクリプトを実行したりと、様々な方法で利用されます。この関数は、現在PHPがどの方式で実行されているかを知りたい場合に利用します。

具体的には、Apache HTTPサーバーのモジュールとして動作している場合は「apache2handler」、PHP-FPMを通して動作している場合は「fpm-fcgi」、コマンドラインインターフェース(CLI)から実行されている場合は「cli」といった、PHPが提供されているインターフェース名が文字列として返されます。この関数は引数を一切取りません。

php_sapi_name関数は、実行環境に応じてプログラムの動作を切り替えたい場合に特に役立ちます。例えば、Webブラウザからのアクセス時にはHTMLを出力し、コマンドラインからの実行時にはテキスト形式のログを出力するといった、環境に依存する処理を安全に記述することが可能になります。これにより、開発者はPHPスクリプトの柔軟性と汎用性を高めることができます。この情報は、アプリケーションのデバッグや、特定の環境でのみ実行される管理スクリプトなどを作成する際にも非常に有用です。

基本的な使い方

構文(syntax)

<?php
$sapiName = php_sapi_name();
?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

PHPスクリプトが実行されている環境を示す文字列を返します。例えば、Webサーバー経由で実行されている場合は「cgi-fcgi」や「apache2handler」、コマンドラインから実行されている場合は「cli」などが返されます。