DockerのコンテナとしてPHP-FPMを起動している場合、"kill"コマンドで
PHP-FPMをリロードしたいことがあると思います。
やり方は簡単で
kill -USR2 プロセス番号(php-fpm: master process)
でOKです。
実際に試してみます。
PHP-FPMのプロセスはこんな感じです。
# docker exec 77586670e25f ps aux root 86 0.0 1.2 298316 13192 ? Ss Jul10 0:06 php-fpm: master process (/etc/php-fpm.conf) apache 90 0.0 0.5 298316 5604 ? S Jul10 0:00 php-fpm: pool www apache 91 0.0 0.5 298316 5604 ? S Jul10 0:00 php-fpm: pool www apache 92 0.0 0.5 298316 5604 ? S Jul10 0:00 php-fpm: pool www apache 93 0.0 0.5 298316 5604 ? S Jul10 0:00 php-fpm: pool www apache 94 0.0 0.5 298316 5604 ? S Jul10 0:00 php-fpm: pool www
PHP-FPM(php-fpm: master process)のプロセス(86番)を"kill -USR2"
します。
# docker exec 77586670e25f kill -USR2 86
すると、次のようにPHP-FPM(php-fpm: pool)のプロセスIDが変更されてることがわかります。
# docker exec 77586670e25f ps aux root 86 0.0 1.2 298316 13192 ? Ss Jul10 0:06 php-fpm: master process (/etc/php-fpm.conf) apache 138 0.0 0.5 298316 5600 ? S 02:20 0:00 php-fpm: pool www apache 139 0.0 0.5 298316 5600 ? S 02:20 0:00 php-fpm: pool www apache 140 0.0 0.5 298316 5600 ? S 02:20 0:00 php-fpm: pool www apache 141 0.0 0.5 298316 5600 ? S 02:20 0:00 php-fpm: pool www apache 142 0.0 0.5 298316 5600 ? S 02:20 0:00 php-fpm: pool www
PHPのモジュールの追加や設定変更を行った後に、上記を実行することで、
それらを反映することができます。