- Can I use m6web/cassandra-bundle in a Laravel application?
- No. This is a Symfony 2-era bundle that registers clusters, sessions, and a profiler data collector through Symfony's container and YAML configuration; there is no Laravel service provider, facade, or config publishing. To use it in Laravel you would first have to compile the abandoned ext-cassandra PECL extension against a modern PHP toolchain and then reimplement every Symfony container convention by hand. At that point you are writing the Laravel bridge yourself, which is why the bundle is better treated as a reference design than a dependency.
- How do I install m6web/cassandra-bundle?
- You would run composer require m6web/cassandra-bundle and enable the bundle in a Symfony kernel, but installation is the easy part. The real prerequisite is the datastax/php-driver native extension (ext-cassandra), which must be compiled and loaded in every PHP runtime, CI runner, and container image. The last release was March 2020, so expect dependency constraints and PHP 8+ incompatibilities to block a clean install on current stacks.
- Which PHP and Symfony versions does this Cassandra bundle support?
- It targets the Symfony 2-era bundle structure and the now end-of-life ext-cassandra driver, with the final release dated March 2020. There are no updates for PHP 8+ compatibility, no maintained Symfony 6 or 7 support, and zero dependents to validate against. Check the archived repository's composer.json before assuming any version combination works in your environment.
- How do I configure Cassandra clusters, keyspaces, and sessions with this bundle?
- Configuration is YAML-based: you define clusters with contact points and port, select a keyspace, and declare named sessions that the container exposes as services. Multiple connections and keyspaces are supported, and the option surface includes timeout, consistency, retry and load-balancing policy, protocol version, credentials, and default page size. That option list is the genuinely reusable part of the package, even if you build your own Laravel adapter.
- Does m6web/cassandra-bundle work with ScyllaDB, Amazon Keyspaces, or Astra?
- The bundle is a thin wrapper, so CQL protocol compatibility is decided entirely by the underlying ext-cassandra driver, not by the bundle. That driver is end-of-life and pins you to older protocol levels, which is often the binding constraint with managed services such as Astra, Keyspaces, or ScyllaDB Cloud. Validate the driver and protocol level against your target cluster before writing any application code.
- How does the Symfony profiler integration work for Cassandra queries?
- The bundle registers a data collector that logs executed CQL statements with timing so Cassandra calls appear in the Symfony debug toolbar alongside the rest of your stack. This is Symfony-specific and only active in debug mode, and there is no Laravel Telescope or Debugbar equivalent. In Laravel you would need to build your own query-observability hook around the connection wrapper.
- Is m6web/cassandra-bundle still maintained?
- No. The repository is archived, the last release was March 2020, and it has zero dependents on Packagist. Its foundation, the ext-cassandra PECL extension, is itself end-of-life, so there is no upstream path for fixes. Adopting it for new work inside a Laravel application carries high, asymmetric risk for very little wiring benefit.
- What should I use instead of this bundle for Cassandra in Laravel or PHP?
- Build a thin, application-owned CassandraConnection interface with only the methods you need, such as query and prepare/execute, and bind it in a Laravel service provider with CQL kept behind per-table-family repositories. Keep the interface application-owned so the driver choice stays reversible, since every candidate driver in this space is either EOL or thinly maintained. If ad-hoc reporting is anywhere on the roadmap, reconsider the store entirely and evaluate Postgres or DynamoDB instead of Cassandra.
- Does the bundle handle prepared statements, retries, consistency levels, or schema migrations?
- It exposes driver-level options such as consistency, retry and load-balancing policy, timeout, and protocol version, and provides a simple API for executing CQL statements, including prepared statements passed through to the driver. It does not create schema or provide any migration story, so keyspace and table management must live in an explicit bootstrap or migration step. Undocumented pool and reconnect behavior is one of the production risks you inherit from the underlying extension.
- What are the production risks of depending on ext-cassandra and this bundle?
- You inherit unpatched archived code, PHP 8+ incompatibility, native extension build failures in CI and container images, and Cassandra or CQL protocol drift with no upstream fix path. The upside of adoption is at most a day or two of wiring; the downside is an unsupported native dependency inside your runtime. Before committing, confirm a working driver exists for your PHP version, that it negotiates your cluster's protocol level, and that images build reproducibly on your CI runners.