PHP - php-fpm - 設定


 クラウディア


1. 概要
2. php-fpm 有効化
3. php_module 無効化
4. 参考サイト

1. 概要

 「mod_php」から「php-fpm」へ移行させます。

2. php-fpm 有効化

 「php-fpm」を有効化します。  「root」ユーザ権限で。

LoadModule version_module libexec/apache24/mod_version.so
#LoadModule remoteip_module libexec/apache24/mod_remoteip.so
#LoadModule proxy_module libexec/apache24/mod_proxy.so
#LoadModule proxy_connect_module libexec/apache24/mod_proxy_connect.so
#LoadModule proxy_ftp_module libexec/apache24/mod_proxy_ftp.so
#LoadModule proxy_http_module libexec/apache24/mod_proxy_http.so
#LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
 128、133行の先頭の「#」を削除して、「proxy_module」「proxy_fcgi_module」を有効化します。

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>
 の記述があれば、コメントアウトするか、削除します。

    #AddType text/html .shtml
    #AddOutputFilter INCLUDES .shtml
</IfModule>
 の記述の後ろあたりに、下記の行を加えます。

<FilesMatch "\.php$">
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

/usr/local/etc/apache24/Includes/
 配下に、「Laravel」のサイトの定義を記述した、「*.conf」があれば。

<VirtualHost    *:80>
	...
</VirtualHost>
 や。

<VirtualHost    *:443>
	...
</VirtualHost>
 の記述の「</VirtualHost>」の前に、下記の記述を加えます。

    <FilesMatch \.php$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</VirtualHost>
 「apache」の設定を確認して。

service apache24 configtest

Performing sanity check on apache24 configuration:
Syntax OK
 問題なければ、再起動。

service apache24 restart
 「phpinfo.php」で、下記を記述しているコンテンツがあれば。

<?php
phpinfo();
 ブラウザのキャッシュをクリアしたうえで、表示して。  「php-fpm」の表示があれば、機能しているはずです。

3. php_module 無効化

 「Laravel」のサイトの動作も確認して、問題なく動作していれば、下記の記述をコメントアウトするか削除して。

LoadModule php_module         libexec/apache24/libphp.so
 再度、「apache」の「configtest」「restart」を行います。  実は、ついうっかり、ここを忘れていたのですが。  2026年2月17日、正式にコメントアウトしました。  そうすると、「apache」のメモリ使用量が激減しました。

ps -axm -o rss,command | grep httpd | grep -v grep
 の結果が、「php_module」をコメントアウトする前が。

 76660 /usr/local/sbin/httpd -DNOHTTPACCEPT
 80728 /usr/local/sbin/httpd -DNOHTTPACCEPT
 82548 /usr/local/sbin/httpd -DNOHTTPACCEPT
 86208 /usr/local/sbin/httpd -DNOHTTPACCEPT
 49420 /usr/local/sbin/httpd -DNOHTTPACCEPT
 22660 /usr/local/sbin/httpd -DNOHTTPACCEPT
 これ、左端がプロセスのメモリ使用量を「KB」単位で表示しているのですが。  「php_module」をコメントアウト後。

 20552 /usr/local/sbin/httpd -DNOHTTPACCEPT
 21924 /usr/local/sbin/httpd -DNOHTTPACCEPT
 22000 /usr/local/sbin/httpd -DNOHTTPACCEPT
 20812 /usr/local/sbin/httpd -DNOHTTPACCEPT
 17596 /usr/local/sbin/httpd -DNOHTTPACCEPT
 17036 /usr/local/sbin/httpd -DNOHTTPACCEPT
 と、激しいものでは、およそ 1/4 になりました。

4. 参考サイト

 本ページは、「ChatGPT」軍曹および「Gemini」伍長を参考にさせていただきました。

EaseUS
AbemaTV 無料体験
Amazonギフトカード