A process manager, supercharger, and load balancer for modern PHP applications that boosts performance by keeping workers in memory.
PHP-PM is a process manager, supercharger, and load balancer for modern PHP applications. It significantly boosts performance by spawning and maintaining PHP worker processes in memory, eliminating the need to bootstrap the application on every request. It is designed to work seamlessly with request-response frameworks like Symfony and Laravel.
PHP developers working with performance-sensitive applications, especially those using Symfony, Laravel, or similar frameworks who want to reduce request latency and increase throughput.
Developers choose PHP-PM for its substantial performance improvements over traditional setups like PHP-FPM, its integrated load balancing, and hot-code reload capabilities, making it ideal for high-demand PHP applications.
PPM is a process manager, supercharger and load balancer for modern PHP applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Eliminates PHP bootstrap overhead by keeping pre-initialized workers in memory, delivering up to 15x faster performance compared to PHP-FPM for Symfony apps, as shown in benchmarks.
Distributes incoming requests across multiple worker processes efficiently without requiring external load balancer setup, improving scalability.
Automatically restarts workers when PHP files change, facilitating faster iteration during development without manual restarts.
Serves static files directly in development mode, simplifying workflows by reducing dependency on separate web servers.
The README admits that memory leaks are common and can be exacerbated in the persistent worker model, requiring careful application debugging and management.
No Windows support due to reliance on Unix signal handling, restricting use to *nix-based systems for development and deployment.
Support for Drupal and Zend is experimental and not fully working, and Laravel's debugger has issues, limiting reliable adoption beyond Symfony.
Streamed responses are not yet implemented, which may hinder applications that rely on real-time or large data streaming.