:warning: The PHP driver is in maintenance mode. We are still accepting pull-requests and we will occasionally release critical bug fixes, but no ongoing active development is being done currently.
A modern, feature-rich and highly tunable PHP client library for Apache Cassandra 2.1+ using exclusively Cassandra's binary protocol and Cassandra Query Language v3. Use the DSE PHP driver for better compatibility and support for DataStax Enterprise.
This is a wrapper around the DataStax C/C++ Driver for Apache Cassandra.
Note: DataStax products do not support big-endian systems.
Binary versions of the driver, available for multiple operating systems and multiple versions of PHP, can be obtained from DataStax download server. The source code is made available via GitHub. If you're using DataStax Enterprise use the DSE PHP driver instead.
Note: The driver extension is a wrapper around the DataStax C/C++ Driver for Apache Cassandra and is a requirement for proper installation of the PHP extension binaries. Ensure these dependencies are met before proceeding.
duration
Session::execute()
and Session::executeAsync()
now support a
simple string for the query CQL and a simple array for the query execution
optiontinyint
and smallint
date
and time
This driver works exclusively with the Cassandra Query Language v3 (CQL3) and Cassandra's native protocol. The current version works with:
If using DataStax Enterprise the DSE PHP driver provides more features and better compatibility.
<?php
$cluster = Cassandra::cluster() // connects to localhost by default
->build();
$keyspace = 'system';
$session = $cluster->connect($keyspace); // create session, optionally scoped to a keyspace
$statement = new Cassandra\SimpleStatement( // also supports prepared and batch statements
'SELECT keyspace_name, columnfamily_name FROM schema_columnfamilies'
);
$future = $session->executeAsync($statement); // fully asynchronous and easy parallel execution
$result = $future->get(); // wait for the result, with an optional timeout
foreach ($result as $row) { // results and rows implement Iterator, Countable and ArrayAccess
printf("The keyspace %s has a table called %s\n", $row['keyspace_name'], $row['columnfamily_name']);
}
pecl install cassandra
Read detailed instructions on building and installing the extension
Read our contribution policy for a detailed description of the process.
The DataStax PHP Driver uses the amazing Behat Framework for both end-to-end,
or acceptance testing and documentation. All of the features supported by the
driver have appropriate acceptance tests with easy-to-copy code examples in
the features/
directory.
For your convenience a Vagrantfile
with configuration ready for testing is
available. To execute tests, run the following:
git clone https://github.com/datastax/php-driver.git
cd php-driver
git submodule update --init
vagrant up
vagrant ssh
Once you've logged in to the vagrant VM, run:
cd /usr/local/src/php-driver
./bin/behat
./bin/phpunit
© DataStax, Inc.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Join Our Newsletter!
Sign up below to receive email updates and see what's going on with our company.