The Wayback Machine - https://web.archive.org/web/20201225222740/https://github.com/deemru/php-cgi-spawner
Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 

README.md

php-cgi-spawner

Build status

php-cgi-spawner is the smallest and easiest application to spawn a multiple php-cgi processes in Windows for your web server with FastCGI.

  • It spawns as many php-cgi (x86 or x64) on a single port as you need
  • It automatically restarts them if they crashed or reached PHP_FCGI_MAX_REQUESTS

Basic Usage

If you have the following directory structure:

php-cgi-spawner.exe
php
  php-cgi.exe
  php.ini

In order to spawn 4 php-cgi on tcp/9000:

php-cgi-spawner.exe php/php-cgi.exe 9000 4

You may specify a config file explicitly:

php-cgi-spawner.exe "php/php-cgi.exe -c php/php.ini" 9000 4

php-cgi.exe processes are spawned under the same user that runs php-cgi-spawner.exe.

Version 1.1

Now you can additionally specify a number of php-cgi helpers for permanently running php-cgi processes:

php-cgi-spawner.exe "php/php-cgi.exe -c php/php.ini" 9000 4+16

It means that up to 16 php-cgi helpers can start automatically when 4 php-cgi permanents do not handle a temporary server high load.

PHP_FCGI_MAX_REQUESTS for php-cgi helpers can be set in PHP_HELP_MAX_REQUESTS:

set PHP_HELP_MAX_REQUESTS=100
php-cgi-spawner.exe "php/php-cgi.exe -c php/php.ini" 9000 4+16

You can even do not use permanently running php-cgi and use just helpers, even with 1 request per helper:

set PHP_HELP_MAX_REQUESTS=1
php-cgi-spawner.exe "php/php-cgi.exe -c php/php.ini" 9000 0+16

But it is recommended to run at least 1 permanent php-cgi to handle opcache.

Download

Go to release to download pre-built binary.

Build

Go to src directory and run make.bat in a Visual Studio environment.

Notes

  • Currently a maximum number of permanently running php-cgi processes is 64 because of MAXIMUM_WAIT_OBJECTS in WaitForMultipleObjects.
  • The number of php-cgi helpers does not have such limit.
You can’t perform that action at this time.