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

【PHP7】php-fpmの設定と起動

PHP7から php-fpm の設定ファイルが分割されて、編集しやすくなりました。
ここではとりあえずの設定と、起動するまでの手順を紹介します。

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

php-fpm.confを編集する

「/usr/local/php7」にインストールしましたので、設定ファイルの雛形が「/usr/local/php7/etc/php-fpm.conf.default」になります。
これをリネームしつつコピーして、編集していきます。

$ sudo cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
$ sudo vi /usr/local/php7/etc/php-fpm.conf
; 一応明示的に指定しておくその1
pid = run/php-fpm.pid
; 一応明示的に指定しておくその2
error_log = log/php-fpm.log
; 他のバージョンと混在できるようにナンバー振ってみる
syslog.ident = php7-fpm

自動起動制御スクリプトでPIDファイルを参照しますので、「pid = run/php-fpm.pid」は明示的に指定しています。
実はこの設定ファイル、何も触らなくてもフツーに動いてしまいます。
起動しない場合はデフォルトに戻してみてください。

www.confを編集する

「/usr/local/php7/etc/php-fpm.d/www.conf.default」が雛形となっていますので、これをリネームしつつコピーして編集しましょう。

$ sudo cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
$ sudo vi /usr/local/php7/etc/php-fpm.d/www.conf
; Apacheを動かしているユーザとグループを指定する
user = apache
group = apache
; TCPからUnixソケットに変更
listen = /usr/local/php7/var/run/www/php-fpm.sock
; Unixソケットを使うので指定する
listen.owner = apache
listen.group = apache
listen.mode = 0660
; php-fpmでphpを実行する拡張子
; htmlでphpを動かす場合などはここに書かないとセキュリティエラーで動かない
security.limit_extensions = .php

ソケットを「/usr/local/php7/var/run/www/」という場所におくことにしてしまったので、ディレクトリを作成しておきます。
これをやっておかないと、起動するときにエラーが出て失敗します。

$ sudo mkdir /usr/local/php7/var/run/www

とりあえず動く設定が出来ました。

php-fpmを起動する

PHP7のソースを展開してコンパイルしたディレクトリに「sapi/fpm」というディレクトリがありまして。
ここに「init.d.php-fpm」というスクリプトファイルがあります。Debian用の雛形ファイルですが、ほぼそのまま使えます。
とりあえず何も考えず、このスクリプトを実行してみます。

$ sudo sh init.d.php-fpm start
Starting php-fpm  done
$ ps aux | grep php-fpm
root     24580  0.0  0.5 177616 12120 ?        Ss   17:37   0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
apache   24581  0.0  0.4 177616  8868 ?        S    17:37   0:00 php-fpm: pool www
apache   24582  0.0  0.4 177616  8868 ?        S    17:37   0:00 php-fpm: pool www

そのままで使えました。ラッキーです。場合によっては、修正が必要になります。
ソケットファイルの場所「/usr/local/php7/var/run/www/php-fpm.sock」をメモっておいて、Apacheと連携させます。

Sponsored Link