Windows PHP-FPM peut-il servir plusieurs requêtes simultanées?

J’utilise actuellement nginx et PHP FastCGI, mais cette disposition souffre de la limitation du fait qu’elle ne peut servir qu’une requête HTTP à la fois. (Voir ici .) Je lance PHP depuis l’invite de commande Windows en faisant;

c:\Program Files\PHP>php-cgi -b 127.0.0.1:9000 

Cependant, il existe un autre moyen de faire fonctionner PHP, connu sous le nom de “Fast CGI Process Manager” (PHP-FPM).

Sous Windows 7, derrière nginx, PHP-FPM peut-il gérer plusieurs requêtes HTTP simultanées?

J’ai fini avec cette solution: il vous suffit de lancer plusieurs processus php-cgi et de les lier à différents ports, et vous devez mettre à jour nginx config:

 http { upstream php_farm { server 127.0.0.1:9000 weight=1; server 127.0.0.1:9001 weight=1; server 127.0.0.1:9002 weight=1; server 127.0.0.1:9003 weight=1; } ... server { ... fastcgi_pass php_farm; } } 

Pour des raisons de commodité, j’ai créé des fichiers de commandes simples.

start_sandbox.bat :

 @ECHO OFF ECHO Starting sandbox... RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c php\php.ini RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9001 -c php\php.ini RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9002 -c php\php.ini RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9003 -c php\php.ini RunHiddenConsole.exe mysql\bin\mysqld --defaults-file=mysql\bin\my.ini --standalone --console cd nginx && START /B nginx.exe && cd .. 

et stop_sandbox.bat :

 pstools\pskill php-cgi pstools\pskill mysqld pstools\pskill nginx 

comme vous pouvez le voir, il y a 2 dépendances: pstools et runhiddenconsole.exe