Download the PHP package corvid/php-corvid without Composer

On this page you can find all versions of the php package corvid/php-corvid. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package php-corvid

corvid-php

The PHP binding for corvid — an embedded database with vector search, BM25 full-text search, metadata filtering, graph traversal, and geo, fused in one transactionally consistent query builder. This repo is a native PHP extension in C (ext/corvid) over the engine's published, checksummed FFI artifacts (the platform cdylib + corvid.h): no Rust toolchain, no vendored binaries, ever.

Documentation: the corvid docs site is canonical — this binding has its own corvid-php page, and the C ABI section documents every symbol this extension links (handles, ownership, errors, threading).

A taste of the API:

Failures throw Corvid\Exception with the engine's error code in getCode() (Corvid\Exception::CODE_*).

Quick start (from source)

Requirements: PHP 8.3+ with its dev headers (phpize, php-config), a C compiler, and curl + shasum/sha256sum.

PHPUnit instead of the direct driver (after curl -L -o phpunit.phar https://phar.phpunit.de/phpunit-12.phar):

Or make-driven: make deps ext test examples gate.

The extension embeds an absolute rpath to the fetched deps/current at build time. To install system-wide, put libcorvid.dylib/libcorvid.so and corvid.h somewhere standard (e.g. /usr/local/lib) and rebuild with --with-corvid=/usr/local.

Installing (PIE over Packagist)

The package is published on Packagist as corvid/php-corvid, tag-synced with engine releases, and installs with PIE (the PHP Installer for Extensions — the modern replacement for pecl):

The --with-corvid directory must hold the engine's published corvid.h + cdylib (the configure step fails with a clear error without them — this extension links the real engine library and never vendored binaries). Get the artifacts either way: run ./fetch.sh in a clone (downloads + sha256-verifies the pinned release), or install libcorvid + corvid.h system-wide and point at that (e.g. --with-corvid=/usr/local).

The value mapping

engine value PHP
Null / Bool / Int / Float null / bool / int / float (NaN, ±INF, -0.0 cross bit-exact)
Text (UTF-8) string — invalid UTF-8 throws CODE_ARGUMENT
Bytes (binary-safe) Corvid\Bytes (a string wrapper; "\x00\xff" round-trips exactly)
Array / Map PHP list array / assoc array (the empty array is an empty Map — the document shape)
Vector (f32) Corvid\Vector (constructed from an array of numbers; bit-exact round-trip)

PHP has one byte-opaque string type and shapeless arrays, so Corvid\Bytes and Corvid\Vector are the type tags that keep Text/Bytes and Array/Vector distinguishable — the same disambiguation Go solved with string vs []byte. Corvid\Values exposes the engine-side interrogations on this mapping (type(), len(), asInt()/asFloat()/ asBool()/asText()/asBytes()/asVector(), mapKeys(), clone()).

Lifecycle: CLI, workers, FPM, ZTS

The correctness floor

tests/run-golden.php (and the PHPUnit front) replays the engine's entire golden fixture suite — 267 executable lines across 8 files, including the v0.3.0 VMAP_KEYS/GET_KEYS (map-key iteration) and PHRASE/PHRASE_K0 (direct positional search) lines — against the downloaded cdylib, through this binding's public PHP API: every counted line must dispatch, the first failure names file:line + OP + expected-vs-got, and every handle is freed on its creation path. On top sits docs/SURFACE.tsv (327 engine constructs at this pin), gated in CI.

Windows, stated honestly

ext/corvid/config.w32 is shipped for the standard MSVC build, but it has not been compiled against a Windows PHP toolchain and there is no Windows CI leg — reproducing PHP's Windows build matrix (php-sdk-binary-tools + Visual Studio + matching source drops) was ruled impractical for this bootstrap. The file is syntax-checked in CI (node --check); treat the first real Windows compile as the review it still needs.

Versioning

The engine pin lives in one variable per fetch script (CORVID_VERSION in fetch.sh, $CorvidVersion in fetch.ps1, mirrored in .engine-pin) — today v0.4.1. Artifacts are always taken from that exact tag's GitHub release and sha256-verified; deps/ is never committed. Engine-pin bumps fan out to every binding via the engine repo's scripts/bindings/bump.sh.

License

MIT — see LICENSE.


All versions of php-corvid with dependencies

PHP Build Version
Package Version
Requires php Version >=8.3
ext-corvid Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package corvid/php-corvid contains the following files

Loading the files please wait ...