PHP Toolkit

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.

See also