web-dev-qa-db-ja.com

SAPIとは何ですか?それをいつ使用しますか?

PHP=)でエラー処理について学び、最近 error_log() function に遭遇しました。

PHPマニュアルでは、すべてのエラーログタイプについて説明していますが、エラーメッセージがSAPIログハンドラーに直接送信されることを示すタイプ3を除くすべてのエラーログタイプを理解しています。 SAPIとは正確に何で、いつ使用したいですか?

55
jjmorph

SAPIは「サーバーAPI」の略です(APIは「アプリケーションプログラミングインターフェイス」の略です)。これは、「外の世界」とPHP/Zendエンジン間の相互作用を制御するメカニズムです。だから、あなたはいつもそれを使いたいでしょう。実際、CLIでさえSAPIと見なされるため、多くの労力をかけずに使用することを避けることはできません。

[〜#〜] sapi [〜#〜](サーバーアプリケーションプログラミングインターフェース)[〜# 〜] isapi [〜#〜](Internet Server Application Programming Interface)for Microsoft、[〜#〜] nsapi [〜#〜](Netscapeサーバーアプリケーションプログラミングインターフェイス)Netscape用。

[〜#〜] api [〜#〜]意味。

Web開発者にとって、REST、SOAPなどのAPIを考えることができます。サーバーからデータを取得するリンクを呼び出します。 Webサーバーと対話できます。

SAPIはRESTまたはSOAPとは異なります。SAPIはサーバーに使用されるAPI(契約)です。

例:Common Gateway InterfaceはSAPIです。 WebサーバーがCGIと別の実行可能プログラムをサポートする場合、WebサーバーはWebページを動的に統合および生成できます。

下の写真を見てください:

SAPI Apache and php

mod_phpは、Apacheとphpが相互に理解できるインターフェースを実装します。

SAPIとは正確に:これは、サーバー(あらゆる種類のサーバー)とプログラム間の契約です。契約に従うだけで、他の側の詳細を知る必要はありません。

29

から ウィキペディア

言い換えると、SAPIは実際には、Webサーバーによって提供されるアプリケーションプログラミングインターフェイス(API)であり、他の開発者がWebサーバーの機能を拡張するのに役立ちます。

例として、PHPには、さまざまなWebサーバー用のSAPIと呼ばれる直接モジュールインターフェイスがあります。PHP 5およびWindows上のApache 2.0の場合、 php5Apache2.dllと呼ばれるDLLファイルの形式。これは、他の機能の中でも、PHPとWebサーバーとの間のインターフェースを提供するモジュールです。サーバーが理解するフォームこのフォームは、SAPIと呼ばれるものです。

さまざまなWebサーバー拡張機能には、さまざまな種類のSAPIがあります。たとえば、PHP言語用の別の2つのSAPIは、Common Gateway Interface(CGI)とCommand-Line Interface(CLI)です。

15
numediaweb

PHP使用可能なSAPIは、Apache2(mod_php)、FPM、CGI、FastCGI、およびCLIです。

APIがサーバー上で実行される場合、SAPIと呼ばれる場合があります。

FPM(FastCGI Process Manager)はPHP FastCGIの実装に非常に近く、負荷の大きいサイトに役立つ(主に)いくつかの追加機能があることを思い出してください。

今日、速度と効率の観点から、FPMは最も進化したSAPIになります。 ApacheまたはNginxは、言及されている他のSAPIと比較してパフォーマンスが向上します。

1
prosti