2016-11-23 13 views
0

私はApacheとPHPを初めて使いました。私は現在、この2つの間の相互作用について学んでいます。PHPインタプリタとPHPハンドラの違いは何ですか?

私は現在、PHPハンドラの仕事を理解しようとしています。私はcPanelでsuPHPを使用しており、私の知識を広げたいと考えています。

+0

この問題はなぜSOに移行されたのですか? – MrWhite

答えて

1

phpハンドラはApacheがPHPインタープリタと通信するために使用するApacheモジュールです。基本的にApacheがPhpファイルの要求を処理するために使用されます。さまざまな種類のPHPハンドラがあります。たとえば、mod_phpはPHP用のApacheモジュールです。 mod_fcgidは、TCPまたはUnixソケットを介してphp_fpmインタプリタとの通信を可能にします。

PHPインタープリタは、一度に1行ずつPHPコードを実行するアプリケーションです。 Phpインタプリタの出力はPHPハンドラに送られます。この出力は、mod_deflateやmod_securityなどの他のApacheモジュールによって処理されることがあります。最終出力は、Apacheが待機しているTCPソケットから送信されます。

SuPHPは、スクリプト所有者の権限でPHPスクリプトを実行できるApacheモジュールです。通常、Phpスクリプトは、PHPインタープリタのアクセス許可で実行されます。 SuPhpを使用すると、Phpファイルにカスタムの所有者とアクセス許可を与えることができます。 Phpファイルは、Phpファイルを所有するのと同じ所有者によって実行されます。これは、異なるユーザーに属するPhpファイルが同じPhpインタプリタによって実行される必要がある共有ホスティング環境で便利です。 SuPhpは、PhpインタプリタがPhpファイルと同じアクセス権を持つphpファイルを実行できるようにします。

関連する問題