HttpServer
A minimal blocking TCP HTTP server in pure PHP. For CLI tools and tests, not for production traffic.
composer require wp-php-toolkit/http-server
Sometimes a PHP tool needs a tiny local HTTP surface: a test fixture server, a webhook receiver during development, a CLI tool with a browser UI, or a demo endpoint for another component. Pulling in a production web framework would obscure the example and add dependencies the toolkit avoids.
The HttpServer component is intentionally small: a blocking TCP server, incoming request objects, and response writers. It is useful for local tools and tests. It is not a replacement for nginx, Apache, php-fpm, RoadRunner, Swoole, or a production application server.
Hello world on port 8080
Run on your machine: the Playground sandbox does not allow processes to bind listening TCP ports. Save this snippet locally and run php hello-server.php.
A tiny JSON router
Run on your machine: needs a listening port. Once running, try curl localhost:8080/api/status.
Build a CLI tool with a web UI by switching on the parsed path and method.
Buffered response with auto Content-Length
Use BufferingResponseWriter when you want the framework to compute Content-Length for you, or when the runtime is CGI-shaped and expects the full body up front. This one runs anywhere — no socket required.