php fastcgi process manager logo

02.05.2008 A chinese translation is available now

29.10.2007 Official community support groups are available:

Google Groups
Subscribe to highload-php-en
Email:
Visit this group
Google Groups
Subscribe to highload-php-ru
Email:
Visit this group

Brief howto:

php-fpm was build with principle of least astonishment in mind. I believe this is the only excuse for complete lack of documentation. I promise to set up wiki soon. Please do not hesitate to write an email to groups listed above if you've got any questions.

php-fpm was tested to run on linux, macosx, solaris and freebsd.

Make sure libxml2 (and libxml2-devel on some systems) is installed

Download php and php-fpm

$ bzip2 -cd php-5.2.5.tar.bz2 | tar xf -

$ gzip -cd php-5.2.5-fpm-0.5.7.diff.gz | patch -d php-5.2.5 -p1

$ cd php-5.2.5 && ./configure --enable-fastcgi --enable-fpm

$ make all install

Edit $prefix/etc/php-fpm.conf

Run $prefix/bin/php-cgi --fpm

Check logs $prefix/logs/php-fpm.log for details

Run phpinfo() to check your site is still working

Pid of master process is stored in $prefix/logs/php-fpm.pid

Master process understands signals:

SIGINT, SIGTERM - immediate termination

SIGQUIT - graceful stop

SIGUSR1 - re-open log file

SIGUSR2 - graceful reload of all workers + reload of fpm conf/binary