# reactphp/reactphp

Event-driven, non-blocking I/O with PHP.

Repository: https://github.com/reactphp/reactphp
Canonical: https://ross.abutalabs.com/products/reactphp
Homepage: https://reactphp.org
Language: PHP
License: MIT
License Family: permissive
Topics: reactphp, php
Last push: 2024-11-25T17:18:22+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 5228, "days_push": 646, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 9091, forks 712 (observed 2026-08-28T04:10:28.317209+00:00)

## What it is
ReactPHP is a low-level PHP library for event-driven, non-blocking I/O built around a core event loop (reactor pattern). It provides reusable components including streams, async DNS resolution, TCP/UDP sockets, HTTP client/server, promises, and process interaction for building concurrent network applications.

## Use cases
- build an async http server in php without a web server
- handle thousands of concurrent tcp connections in php
- make concurrent non-blocking http requests from php
- run long-running php processes with an event loop
- stream large files without loading them into memory
- write async php code with promises and fibers
- build a udp datagram client or server in php

## When to choose
- you need high-concurrency network servers or clients in PHP
- you want non-blocking I/O for long-running PHP applications
- you need streaming processing of large data in small chunks
- you want a Node.js-style async programming model in PHP

## When to avoid
- your app is a typical short-lived request/response PHP web app under Apache/nginx
- you need to run blocking legacy libraries that can't be made async
- your team is unfamiliar with event-driven programming and deadlines are tight

## Facets
- artifact type: library
- maturity: stable
- function: http-server, http-client, websocket, concurrency, networking, streaming, middleware
- domain: web-development, backend, developer-tools, networking
- platform: php, windows, cross-platform, cli
- tags: event-loop, async, non-blocking-io, reactor-pattern, promises, fibers, tcp, udp, dns-resolver, long-running-processes, real-time, linux, macos

## Member repositories
- reactphp/reactphp (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:28.317209+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:23:59.767787+00:00, confidence not recorded.
  - readme: https://github.com/reactphp/reactphp (fetched 2026-08-28T04:10:28.317209+00:00, sha c0a556265efe)
  - homepage: https://reactphp.org (fetched 2026-08-29T08:23:56.061149+00:00, sha 1980b31fe979)
  - site_page: https://reactphp.org/changelog.html (fetched 2026-08-29T08:23:56.070618+00:00, sha accf57fc05ce)
  - site_page: https://reactphp.org/event-loop (fetched 2026-08-29T08:23:56.074057+00:00, sha 71fa26ea922a)
  - site_page: https://reactphp.org/stream (fetched 2026-08-29T08:23:56.076420+00:00, sha 5cfe870b06b6)
  - site_page: https://reactphp.org/promise (fetched 2026-08-29T08:23:56.079128+00:00, sha 43bac1362b41)
  - site_page: https://reactphp.org/async (fetched 2026-08-29T08:23:56.081321+00:00, sha fcc93d7deea9)
  - site_page: https://reactphp.org/socket (fetched 2026-08-29T08:23:56.083471+00:00, sha 733dc1715726)
  - site_page: https://reactphp.org/datagram (fetched 2026-08-29T08:23:56.086643+00:00, sha b08870ce2aca)
  - site_page: https://reactphp.org/http (fetched 2026-08-29T08:23:56.088643+00:00, sha d4f67ecfdff1)
- Data as of 2026-08-30T08:39:29.467469+00:00.
