PHP-FPM is an alternative PHP FastCGI implementation with some additional features (mostly) useful for heavy-loaded sites.

PHP Installation
Configure PHP:

./configure \
--with-config-file-path=/usr/local/etc/ \
--enable-fpm \
--enable-pdo \
--enable-mbstring \
--with-gd \
--with-curl \
--with-jpeg-dir \
--with-bz2 \
--with-zlib \

Build and install:

make install

Copy the default configuration files:

cp php.ini-development /usr/local/etc/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

Edit /usr/local/etc/php-fpm.conf to make it run in the foreground and log messages:

daemonize = no
error_log = /dev/stderr
listen = /var/run/
listen.owner = nobody = nobody
listen.mode = 0660
pm.status_path = /.status.fpm

Daemontools startup
Assuming you have already installed daemontools., create the directories to hold the lighttpd run and logging scripts:

cd /var/service
mkdir -m 1755 php-fpm
cd php-fpm

Create the run script (/var/service/php-fpm/run), with the following:

#! /bin/sh
exec 2>&1
exec /usr/local/sbin/php-fpm -F

Once you have saved the file, change it's permissions to it can be executed:

chmod 700 run

Create the logging service:

mkdir -m 755 log
cd log
mv run.log run
chmod 700 run

Create the symbolic link to start the php-fpm service

ln -s /var/service/php-fpm /service/php-fpm

Recent Updates

  • 7 months 1 week ago
  • 7 months 1 week ago
  • 7 months 1 week ago
    php 8.x
  • 7 months 1 week ago
  • 7 months 1 week ago
    Drop Centos 5/6 stuff