Download the PHP package codelieutenant/scylla-driver without Composer

On this page you can find all versions of the php package codelieutenant/scylla-driver. 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 scylla-driver

# ScyllaDB PHP Driver **A modern PHP extension for ScyllaDB and Apache Cassandra** [![Tests](https://github.com/he4rt/scylladb-php-driver/actions/workflows/tests.yml/badge.svg?branch=v1.3.x)](https://github.com/he4rt/scylladb-php-driver/actions/workflows/tests.yml) [![Build Docker Image](https://github.com/he4rt/scylladb-php-driver/actions/workflows/docker-image.yml/badge.svg)](https://github.com/he4rt/scylladb-php-driver/actions/workflows/docker-image.yml) [![Packagist Version](https://img.shields.io/packagist/v/codelieutenant/scylla-driver)](https://packagist.org/packages/codelieutenant/scylla-driver) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) [![PHP](https://img.shields.io/badge/PHP-8.2%20%7C%208.3%20%7C%208.4%20%7C%208.5-8892BF)](https://www.php.net) [![ScyllaDB](https://img.shields.io/badge/ScyllaDB-Developers-4C388C)](https://discord.gg/B6rutCXvgp) **[Read the documentation →](https://he4rt.github.io/scylladb-php-driver/)**

A high-performance PHP extension for ScyllaDB and Apache Cassandra 3.0+, built on top of the ScyllaDB C/C++ Driver. Communicates exclusively over the native CQL binary protocol.

The extension is actively being migrated from C++ to C23 for improved performance, safety, and maintainability.


Compatibility

Component Supported versions
PHP 8.2, 8.3, 8.4, 8.5
ScyllaDB 4.4.x, 5.x, 6.x
Apache Cassandra 3.0+ (via DataStax libcassandra)
Architecture x86-64 (64-bit only)
Thread safety NTS and ZTS
Compilers GCC 13+, Clang 16+
OS Linux, macOS

Quick Start


Installation

Via PIE (recommended)

PIE is the official PHP extension installer. It handles downloading, building, and installing the extension in a single command.

Package: codelieutenant/scylla-driver

1. Install native dependencies

PIE builds the extension from source, so the C/C++ driver (and its own dependency, libuv) must be present first.

Export the pkg-config path so CMake can find both libraries:

2. Install with PIE

PIE places the compiled cassandra.so in your PHP extension directory and enables it automatically.


Prebuilt binaries

Each release attaches a .tar.gz for every supported combination. The archive holds cassandra.so and cassandra.ini.

Two families are published:

Family Built on Runs on
manylinux_2_28_<arch> AlmaLinux 8, glibc 2.28, OpenSSL 1.1.1 RHEL / Rocky / AlmaLinux 8, Ubuntu 18.04 and 20.04, Debian 10 and 11
ubuntu-<release> a current Ubuntu runner recent Ubuntu releases

Every release checks that the manylinux_2_28 archives ask for no symbol above glibc 2.28, GLIBCXX 3.4.25 or CXXABI 1.3.11 — the versions RHEL 8 provides.

The module also needs libssl.so.1.1 and libcrypto.so.1.1. Those are the system OpenSSL on RHEL 8, Ubuntu 20.04 and Debian 11. On a distribution that moved to OpenSSL 3 (RHEL 9+, Ubuntu 22.04+, Debian 12+), install the OpenSSL 1.1 compatibility package or build from source instead.

Every archive also needs libuv.so.1 and libgmp.so.10. The C/C++ driver itself is linked into the module, so you do not install it separately.

The file name is <family>-php<version>-<nts|ts>-<driver>.tar.gz. Match all four parts to your host:

Install the extension:

Then enable it. Copy cassandra.ini into the scan directory that php --ini reports, or add extension=cassandra to your php.ini. Confirm the result:

ts archives are for a ZTS PHP build. nts archives are for the default non-thread-safe build. A mismatch stops the extension from loading.


Manual build from source

Prerequisites

The extension links against the ScyllaDB C/C++ driver (or DataStax libcassandra), which in turn needs libuv. Use the provided scripts to build them from source:

System packages (Debian/Ubuntu)


Building the Extension

The project uses CMake with presets for common configurations. Preset names follow the pattern <BuildType>PHP<Version><ThreadModel>, e.g. DebugPHP8.4NTS.

Configure and compile

Available build types

Preset prefix Description
Debug Debug symbols, no optimisations
Release Fully optimised
RelWithDebugInfo Optimised with debug info

CMake options

Regenerating CMake presets

After adding a new PHP version, regenerate CMakePresets.json:


Running Tests

Start a local ScyllaDB node, then run the Pest test suite:

Environment variables for the test suite:

Variable Default Description
SCYLLADB_HOSTS 127.0.0.1 Comma-separated list of nodes
SCYLLADB_PORT 9042 CQL native port
SCYLLADB_USERNAME cassandra Username
SCYLLADB_PASSWORD cassandra Password
SCYLLADB_KEYSPACE (empty) Default keyspace

Development Status

The extension is undergoing an incremental C++ → C23 migration. The src/Cluster/ module is the canonical reference implementation.

Module Status
Cluster Refactored (C23 reference)
RetryPolicy Partial — stubs done, handlers need C port
DateTime Partial — stubs done
SSLOptions Partial — stubs done
Database Legacy
Type Legacy
Numbers Legacy
TimestampGenerator Legacy
Exception Legacy (thin wrappers)

Contributing


License

Copyright © DataStax, Inc. and contributors.

Licensed under the Apache License, Version 2.0.


All versions of scylla-driver with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3|^8.4|^8.5|^8.6
ext-date 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 codelieutenant/scylla-driver contains the following files

Loading the files please wait ...