質問: 現在Nginx、PHP-FPM、Laravelを使用しての学習をしています。 そこでPHP-FPMについて、自分の中では LaravelのPHPを実行する場所という理解なのですが、 しっかり把握できていないために設定がなかなか進まない状況です。 PHP-FPMの機能について具体的に教えていただきたいです。
回答: ApacheやNginxなどのWebサーバは、 httpリクエストを受け取り対応するhtml文書などをhttpレスポンスで返します。 htmlが要求された場合はそのファイルの内容をレスポンスボディとしてそのまま返しますが、 phpが要求された場合はphpを処理する仕組みがWebサーバ自体には存在しないため、 phpを処理する仕組みと連携する必要があります。 1. 別のプロセスに処理を移譲する:php-fpm 2. phpを処理する仕組みをWebサーバに追加内蔵する:Apacheでのmod_php php-fpm は、fast cgi経由での連携を前提としたphpを処理する仕組みです。 ※ cgi、fast cgi cgiは、Webサーバーがcgiに処理を要求するたびにプロセスを実行し結果をもらったら終了します。 fast cgiは、処理が終わってもプロセスが終了せずに次の処理をするために常駐待機します。 ※ homestead Ubuntu上にnginx + php-fpmが構築済みのvagrant boxイメージだと思います。 使ったことないので確証はないですが。