カメノドットコム
Debian大好きでメインで節操ない感じ。
GMOもわりと好き。
RSS feedly

Apacheとphp-fpmの連携

Apacheの「httpd.con」にちょろりと書き足すだけで連携できます。
必要なモジュールをロードして、ApacheとPHPを連携させましょう。

---- [PR] ----
現在契約中 : GMOクラウドのVPS : お名前.com
今後契約するかも : お名前.com VPS
--------------

Apacheのモジュールを確認

mod_proxy系のモジュールがいくつか必要になります。
コメントアウトされていないか確認しましょう。

$ sudo vi /usr/local/apache24/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

このふたつが必要になります。無効になっていたら有効にしましょう。

httpd.confの編集

【PHP7】php-fpmの設定と起動 で設定したUNIXソケットを使用します。
「httpd.conf」に設定を追加します。

$ sudo vi /usr/local/apache24/conf/httpd.conf
# ディレクトリインデックスにphpを追加
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

# 追記する
<FilesMatch \.php$>
    SetHandler "proxy:unix:/usr/local/php7/var/run/www/php-fpm.sock|fcgi://localhost"
</FilesMatch>

確認と編集ができたら、両方を起動してアクセスしてみます。

起動と表示確認

Apache と php-fpm が起動していたら終了し、改めて起動します。

$ sudo /usr/local/apache24/bin/apachectl stop
$ sudo sh PHP7展開PATH/sapi/fpm/init.d.php-fpm stop
$ sudo sh PHP7展開PATH/sapi/fpm/init.d.php-fpm start
$ sudo /usr/local/apache24/bin/apachectl start

【Apache2.4】event_mpmをチューニング で使用した テスト用ターボール の「test.php」にアクセスしてみましたところ、無事に表示されました。
PHPファイルが表示されない原因の多くが、UNIXソケットを誤って指定しているか、必要なモジュールがロードされていないことにあります。
「httpd.conf」をよく確認してみてください。

Sponsored Link