PHP FPM

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

CentOS 9

dnf config-manager --set-enabled crb
yum install oniguruma-devel

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 \
--with-pdo-mysql=/usr/local/mysql

Build and install:

make
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/php-fpm.pid
listen.owner = nobody
listen.group = 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
wget http://qmail.jms1.net/scripts/run.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

  • 5 days 3 min ago
    1.27.2 update
  • 2 weeks 2 days ago
    Drupal 10/11 config
  • 2 weeks 3 days ago
  • PHP
    2 weeks 3 days ago
    PHP 8.3.11 and AlmaLinux
  • 2 weeks 4 days ago
    New version of Pound