An asynchronous event-driven PHP socket framework for building high-performance network applications.
Workerman is an asynchronous event-driven PHP framework for building high-performance network applications. It allows developers to create scalable servers for HTTP, WebSocket, and custom protocols, handling high concurrency efficiently without relying on traditional web servers like Apache or Nginx. It solves the problem of building real-time, low-latency network services in PHP.
PHP developers building real-time applications, chat servers, game backends, API gateways, or any high-concurrency network service that requires WebSocket or custom protocol support.
Developers choose Workerman for its pure PHP implementation, high performance in handling concurrent connections, and extensive protocol support without external dependencies. Its coroutine features and connection pooling make it ideal for modern asynchronous PHP development.
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses asynchronous event-driven I/O to handle thousands of concurrent connections efficiently, as evidenced by benchmarks linked in the README showing low latency and high throughput.
Built-in support for HTTP, WebSocket, SSL, and custom TCP/UDP protocols, with clear code examples for each in the README, enabling diverse network applications.
Provides coroutines for writing asynchronous code in a synchronous style and connection pooling for resources like databases, improving concurrency and performance, as shown in the Pool class examples.
Includes CLI commands for starting, stopping, reloading, and monitoring worker processes, simplifying deployment and maintenance without external tools.
Requires a POSIX-compatible OS and PHP extensions like PCNTL, limiting cross-platform use and adding setup complexity, as stated in the 'Requires' section.
Optimal performance depends on installing Event, Swoole, or Swow extensions, which are recommended but add dependencies and potential compatibility issues.
Setting up SSL or custom protocols requires manual configuration, such as specifying certificate paths in context arrays, which can be error-prone and less intuitive.