PHPackages                             m6web/php-process-manager-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. m6web/php-process-manager-bundle

AbandonedArchivedSymfony-bundle[Utility &amp; Helpers](/categories/utility)

m6web/php-process-manager-bundle
================================

Php Process Manger bundle

v1.2.2(9y ago)9813.7k9[1 issues](https://github.com/BedrockStreaming/PhpProcessManagerBundle/issues)[2 PRs](https://github.com/BedrockStreaming/PhpProcessManagerBundle/pulls)MITPHPPHP ^5.5|^7.0

Since Jan 15Pushed 8y ago49 watchersCompare

[ Source](https://github.com/BedrockStreaming/PhpProcessManagerBundle)[ Packagist](https://packagist.org/packages/m6web/php-process-manager-bundle)[ RSS](/packages/m6web-php-process-manager-bundle/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (4)Dependencies (5)Versions (8)Used By (0)

PHP Process Manager Bundle for Symfony Applications
===================================================

[](#php-process-manager-bundle-for-symfony-applications)

**Bring High Performance Into Your Symfony App !**

To kill the expensive bootstrap of PHP and Symfony, this bundle add a simple symfony command to start a process manager using ReactPHP.

This PHP process manager is Symfony specific and designed to be used with a process control system like [supervisord](http://supervisord.org/) - more reliable and avoid reinventing the wheel.

Inspired from [php-pm](https://github.com/php-pm/php-pm).

Command
-------

[](#command)

```
php app/console m6web:http-process [listening-port]
```

Availables options :

- `--memory-max` - Gracefully stop running command when given memory volume, in megabytes, is reached (exit 10)
- `--check-interval` - Interval used to periodically check if we should stop the daemon (in seconds)

Quick start
-----------

[](#quick-start)

Install the bundle :

```
composer require m6web/php-process-manager-bundle
```

In AppKernel.php :

```
 new M6Web\Bundle\PhpProcessManagerBundle\M6WebPhpProcessManagerBundle(),
```

Start the command :

```
php app/console m6web:http-process 8000
```

And open  !

Advanced setup (load balancing)
-------------------------------

[](#advanced-setup-load-balancing)

[![Advanced setup (load balancing)](doc/PhpProcessManagerBundle.png)](doc/PhpProcessManagerBundle.png)

### Symfony

[](#symfony)

Install the bundle :

```
composer require m6web/php-process-manager-bundle
```

In AppKernel.php :

```
 new M6Web\Bundle\PhpProcessManagerBundle\M6WebPhpProcessManagerBundle(),
```

### [Supervisord](http://supervisord.org/)

[](#supervisord)

Example for 8 workers, listening from 8000 to 8007

```
[program:mysfproject]
command=php -d memory_limit=1024M app/console m6web:http-process 80%(process_num)02d --env=dev --memory-max=768 --check-interval=60 ; the program (relative uses PATH, can take args)
process_name=%(program_name)s-%(process_num)d ; process_name expr (default %(program_name)s)
numprocs=8                     ; number of processes copies to start (def 1)
directory=/path/to/symfony/    ; directory to cwd to before exec (def no cwd)
umask=022                      ; umask for process (default None)
user=www-data                  ; setuid to this UNIX account to run the program
stdout_logfile=/var/log/supervisord/%(program_name)s-%(process_num)d.log              ; stdout log path, NONE for none; default AUTO
stderr_logfile=/var/log/supervisord/%(program_name)s-%(process_num)d-error.log        ; stderr log path, NONE for none; default AUTO
```

### [NGINX](https://www.nginx.com/resources/wiki/)

[](#nginx)

Example config for NGiNX and 8 workers:

```
upstream backend  {
    server 127.0.0.1:8000 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8001 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8002 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8003 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8004 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8005 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8006 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8007 max_fails=1 fail_timeout=5s;
}

server {
    root /path/to/symfony/web/;
    server_name servername.com;
    location / {
        try_files $uri @backend;
    }
    location @backend {
        proxy_pass http://backend;
        proxy_next_upstream http_502 timeout error;
        proxy_connect_timeout 1;
        proxy_send_timeout 5;
        proxy_read_timeout 5;
    }
}
```

Example config for NGiNX and 8 workers with fallback on php-fpm:

```
upstream backend  {
    server 127.0.0.1:8000 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8001 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8002 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8003 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8004 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8005 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8006 max_fails=1 fail_timeout=5s;
    server 127.0.0.1:8007 max_fails=1 fail_timeout=5s;
}

server {
    root /path/to/symfony/web/;
    server_name servername.com;

    location / {
        try_files $uri @phppm;
    }

    location @phppm {
        proxy_pass http://backend;
        proxy_next_upstream http_502 timeout error;
        proxy_connect_timeout 1;
        proxy_send_timeout 5;
        proxy_read_timeout 5;

        proxy_intercept_errors on;
        recursive_error_pages on;
        error_page 502 = @phpfpm;
    }

    location @phpfpm {
        try_files $uri /app_local.php$is_args$args;
    }

    location ~ ^/app_local\.php(/|$) {
        fastcgi_split_path_info ^(.+\.php)(/.*)$;

        include       /etc/nginx/fastcgi_params;

        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_pass  unix:/var/run/php-fpm/www.sock;
    }
}
```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community24

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 61.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~32 days

Total

6

Last Release

3615d ago

PHP version history (2 changes)v1.0.0PHP &gt;=5.5

v1.1.1PHP ^5.5|^7.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2069361?v=4)[Patrick](/maintainers/Bedrock)[@Bedrock](https://github.com/Bedrock)

![](https://avatars.githubusercontent.com/u/5878620?v=4)[Fabien de Saint pern](/maintainers/fabdsp)[@fabdsp](https://github.com/fabdsp)

---

Top Contributors

[![fabdsp](https://avatars.githubusercontent.com/u/5878620?v=4)](https://github.com/fabdsp "fabdsp (11 commits)")[![omansour](https://avatars.githubusercontent.com/u/1131098?v=4)](https://github.com/omansour "omansour (3 commits)")[![BetterCallJohn](https://avatars.githubusercontent.com/u/206312?v=4)](https://github.com/BetterCallJohn "BetterCallJohn (1 commits)")[![gnugat](https://avatars.githubusercontent.com/u/793185?v=4)](https://github.com/gnugat "gnugat (1 commits)")[![mojoLyon](https://avatars.githubusercontent.com/u/797786?v=4)](https://github.com/mojoLyon "mojoLyon (1 commits)")[![Oliboy50](https://avatars.githubusercontent.com/u/2571084?v=4)](https://github.com/Oliboy50 "Oliboy50 (1 commits)")

---

Tags

bundleperformancereactphpprocess manager

### Embed Badge

![Health badge](/badges/m6web-php-process-manager-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/m6web-php-process-manager-bundle/health.svg)](https://phpackages.com/packages/m6web-php-process-manager-bundle)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
