PPM — PHP Process Manager
PHP-PM is a process manager, supercharger and load balancer for PHP applications.
It’s based on ReactPHP and works best with applications that use request-response frameworks like Symfony’s HTTPKernel. The approach of this is to kill the expensive bootstrap of PHP (declaring symbols, loading/parsing files) and the bootstrap of feature-rich frameworks. See Performance section for a quick hint. PHP-PM basically spawns several PHP instances as worker bootstraping your application (eg. the whole Symfony Kernel) and hold it in the memory to be prepared for every incoming request: This is why PHP-PM makes your application so fast.
More information can be found in the article: Bring High Performance Into Your PHP App (with ReactPHP)
- Performance boost up to 15x (compared to PHP-FPM, Symfony applications).
- Integrated load balancer.
- Hot-Code reload (when PHP files changes).
- Static file serving for easy development procedures.
- Support for HttpKernel (Symfony/Laravel), Drupal (experimental), Zend (experimental).
Why using PPM as development server instead of vagrant, nginx or apache?
- No hassle with file permissions (www-data vs local user ids).
- No painful slow virtual-box file sync.
- Faster response times of your PHP app.
- No fighting with vagrant / virtual machine settings.
- Checkout a new project, run ppm start — done. (if configured with ppm config)
- No hassle with domain names (/etc/hosts), just use different ports for your app without root access.
Laravel, example package
ppm start --bootstrap=laravel --app-env=prod --debug=0 --logging=0 --workers=20
Originally published at www.laravelfeed.com.