PHPackages                             serversideup/oha - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. serversideup/oha

ActiveLibrary[HTTP &amp; Networking](/categories/http)

serversideup/oha
================

Distribute oha (HTTP load generator) as a Composer package.

v2026.07.07.1(3d ago)05↑50%MIT

Since Jul 7Compare

[ Source](https://github.com/serversideup/composer-oha)[ Packagist](https://packagist.org/packages/serversideup/oha)[ GitHub Sponsors](https://github.com/serversideup)[ RSS](/packages/serversideup-oha/feed)WikiDiscussions Synced today

READMEChangelog (1)DependenciesVersions (2)Used By (0)

oha — Composer-distributed oha binary for PHP apps
--------------------------------------------------

[](#oha--composer-distributed-oha-binary-for-php-apps)

**Goal**: Make the [`oha`](https://github.com/hatoo/oha) HTTP load generator easily available in PHP projects via Composer, without requiring Rust or manual installs.

- **Upstream project**: [hatoo/oha](https://github.com/hatoo/oha)
- **What this package does**: Vendors prebuilt `oha` binaries and exposes a tiny wrapper so you can run it as `vendor/bin/oha` inside your PHP app or CI.
- **What it does not do**: It does not modify upstream code or behavior. It only redistributes the binaries and adds a small launcher script.

### Installation

[](#installation)

```
composer require serversideup/oha
```

### Usage

[](#usage)

After installation, the executable is available at `vendor/bin/oha`:

```
vendor/bin/oha --help
vendor/bin/oha -z 15s -c 50 --no-tui --output-format json http://localhost:8080/
```

You can pass through all flags supported by upstream `oha` (see upstream README for full options).

### How it works

[](#how-it-works)

- This package ships platform-specific upstream binaries in `bin/` and a tiny launcher at `bin/oha`.
- When you run `vendor/bin/oha`, the launcher detects your OS/architecture and executes the matching bundled binary.
- Binaries are taken as-is from upstream releases and simply renamed to include their target triple (e.g., `oha_aarch64-unknown-linux-musl`).
- The Linux binaries are statically linked (musl + rustls), so they run on any Linux distribution — glibc or not — on both x86\_64 and ARM64.

### Supported platforms

[](#supported-platforms)

Currently bundled targets:

- aarch64-apple-darwin (Apple Silicon macOS)
- x86\_64-unknown-linux-musl (Linux x86\_64, static)
- aarch64-unknown-linux-musl (Linux ARM64, static)

Notes:

- Intel macOS is not currently supported by the launcher. On unsupported systems, the script will exit with an error.
- Windows is not supported.

### Versioning &amp; releases

[](#versioning--releases)

- **Upstream pin**: the single source of truth is `OHA_VERSION` in `download-oha-release.sh`. A scheduled GitHub Action (`sync-oha.yml`) checks [hatoo/oha](https://github.com/hatoo/oha/releases) daily and opens an auto-merging PR that bumps the pin and re-vendors the binaries when upstream publishes a new release.
- **Package releases**: tagged with CalVer (e.g. `v2026.07.07`). Publishing a GitHub release is all that's needed — Packagist watches this repository and picks up new tags automatically. The `release.yml` workflow re-verifies the vendored binaries on every release.
- **Development version**: every push to `main` is tested (binaries executed on x86\_64 Linux, ARM64 Linux, and macOS ARM runners, checksums verified against upstream). Install the latest development state with:

```
composer require serversideup/oha:dev-main
```

### Binary verification

[](#binary-verification)

Every vendored binary is verified against the sha256 digest that GitHub reports for the corresponding upstream release asset — at download time, on every push/PR, and again when a release is published. You can re-verify a checkout at any time:

```
./download-oha-release.sh --verify-only
```

### Security &amp; provenance

[](#security--provenance)

- You are executing a prebuilt third-party binary within your PHP project/CI.
- Binaries originate from upstream GitHub Releases of `oha`. Consider verifying checksums/signatures against the upstream release assets when appropriate.

### License

[](#license)

- This Composer package: MIT (see `composer.json`).
- Upstream `oha`: MIT License. See upstream project for details.

### Credits and attribution

[](#credits-and-attribution)

- All credit for the `oha` implementation goes to the upstream maintainer: [hatoo/oha](https://github.com/hatoo/oha).
- This repository is an independent, open-source redistribution for Composer-based workflows and is **not affiliated with or maintained by** the upstream project.

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance99

Actively maintained with recent releases

Popularity3

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity33

Early-stage or recently created project

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/22c0cabd5df52b68eb1af51077a850ce1573ab7a450a0244b818bcb86e487bba?d=identicon)[jaydrogers](/maintainers/jaydrogers)

### Embed Badge

![Health badge](/badges/serversideup-oha/health.svg)

```
[![Health](https://phpackages.com/badges/serversideup-oha/health.svg)](https://phpackages.com/packages/serversideup-oha)
```

###  Alternatives

[php-http/cache-plugin

PSR-6 Cache plugin for HTTPlug

25126.1M82](/packages/php-http-cache-plugin)[rdkafka/rdkafka

A PHP extension for Kafka

2.2k24.3k1](/packages/rdkafka-rdkafka)[httpsoft/http-message

Strict and fast implementation of PSR-7 and PSR-17

87965.9k119](/packages/httpsoft-http-message)[serpapi/google-search-results-php

Get Google, Bing, Baidu, Ebay, Yahoo, Yandex, Home depot, Naver, Apple, Duckduckgo, Youtube search results via SerpApi.com

69127.2k](/packages/serpapi-google-search-results-php)[swoft/websocket-server

swoft websocket server component

16135.7k5](/packages/swoft-websocket-server)[thesis/nats

Async (fiber based) client for Nats.

744.4k](/packages/thesis-nats)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
