2.x PHP Client Library for Couchbase
C PHP C++ Other
Pull request Compare This branch is 70 commits ahead, 5 commits behind brett19:master.
Latest commit 786a412 Nov 9, 2016 @avsej avsej PCBC-439: reset MCISCOMPRESSED before type detection
Change-Id: I9bd9617a32b68bcd539835b5b750b386d1160c3f
Reviewed-on: http://review.couchbase.org/69727
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
Permalink
Failed to load latest commit information.
examples PCBC-394: expose CAS as a string May 17, 2016
fastlz PCBC-366: Correct issue with legacy transcoder compression. Nov 4, 2015
stub PCBC-439: reset MCISCOMPRESSED before type detection Nov 9, 2016
tests PCBC-436: Allow to specify timeouts for tests Oct 3, 2016
.clang-format PCBC-410: consolidate LCB and extension logging Aug 24, 2016
.gitignore gitignore: Ignore temporary vim .swp files Oct 3, 2016
.travis.yml Initial Commit Apr 24, 2014
LICENSE Initial Commit Apr 24, 2014
README.md Update README: links, instructions and remove badge Aug 24, 2016
bucket.c PCBC-438: install callback for replica read command Nov 2, 2016
bucket.h PCBC-410: consolidate LCB and extension logging Aug 24, 2016
cas.c Update library to v3 LCB API May 24, 2016
cas.h Update library to v3 LCB API May 24, 2016
cbft.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
cluster.c Update library to v3 LCB API May 24, 2016
cluster.h Update library to v3 LCB API May 24, 2016
config.m4 PCBC-410: consolidate LCB and extension logging Aug 24, 2016
config.w32 PCBC-410: consolidate LCB and extension logging Aug 24, 2016
couchbase.c PCBC-425: rollback PSR-3 logger support Sep 7, 2016
couchbase.h PCBC-410: consolidate LCB and extension logging Aug 24, 2016
counter.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
datainfo.h Update library to v3 LCB API May 24, 2016
docfrag.c PCBC-380: support AT_PLUS consistency Jun 27, 2016
docfrag.h PCBC-380: support AT_PLUS consistency Jun 27, 2016
durability.c PCBC-380: support AT_PLUS consistency Jun 27, 2016
exception.c Update library to v3 LCB API May 24, 2016
exception.h Update library to v3 LCB API May 24, 2016
genphpfile.sh PCBC-381: support for Full Text Search queries Jun 25, 2016
get.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
http.c Do not include datainfo.h everywhere to avoid symbol duplicates Jun 8, 2016
log.c PCBC-425: rollback PSR-3 logger support Sep 7, 2016
log.h PCBC-425: rollback PSR-3 logger support Sep 7, 2016
metadoc.c PCBC-380: support AT_PLUS consistency Jun 27, 2016
metadoc.h PCBC-380: support AT_PLUS consistency Jun 27, 2016
n1ix_create.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
n1ix_drop.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
n1ix_list.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
n1ix_spec.c PCBC-385 N1QL index management May 24, 2016
n1ix_spec.h PCBC-385 N1QL index management May 24, 2016
n1ql.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
opcookie.c Update library to v3 LCB API May 24, 2016
opcookie.h Update library to v3 LCB API May 24, 2016
package2.xml Release 2.2.3 GA Oct 4, 2016
paramparser.c Fix jenkins build May 25, 2016
paramparser.h Update library to v3 LCB API May 24, 2016
php_couchbase.h Release 2.2.3 GA Oct 4, 2016
phpstubstr.h PCBC-439: reset MCISCOMPRESSED before type detection Nov 9, 2016
remove.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
store.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
subdoc.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
token.c PCBC-380: support AT_PLUS consistency Jun 27, 2016
token.h PCBC-380: support AT_PLUS consistency Jun 27, 2016
touch.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
transcoding.c Update library to v3 LCB API May 24, 2016
transcoding.h Update library to v3 LCB API May 24, 2016
unlock.c PCBC-410: consolidate LCB and extension logging Aug 24, 2016
zap.h PCBC-416: always return document from bop_get_return_doc Aug 7, 2016

README.md

Couchbase PHP Client

This library allows you to connect to a Couchbase cluster from PHP. It is a native PHP extension and uses the very fast libcouchbase library to handle communicating to the cluster over the Couchbase binary protocol. It supports 5.x and 7.0.x releases of PHP interpreter.

Useful Links

Source - http://github.com/couchbaselabs/php-couchbase

Bug Tracker - http://www.couchbase.com/issues/browse/PCBC

Couchbase PHP Community - https://forums.couchbase.com/c/php-sdk

Documentation - http://developer.couchbase.com/documentation/server/current/sdk/php/start-using-sdk.html

Installing

Couchbase PHP client generally available through PECL: http://pecl.php.net/package/couchbase

pecl install couchbase

Additionally Windows builds available from [Release Notes and Archives][http://developer.couchbase.com/server/other-products/release-notes-archives/php-sdk] page.

On MacOS platform, the library could be installed via Homebrew:

brew tap homebrew/homebrew-php
brew install php70-couchbase # or other version instead of 70 (PHP 7.0)

If you are going to prepare patches, or just need to install the most recent version from git, make sure you have PHP development tools and headers installed, and run the following commands:

git clone git://github.com/couchbase/php-couchbase.git
cd php-couchbase
phpize
./configure --with-couchbase
make && make install

Introduction

Connecting to a Couchbase bucket is as simple as creating a new Connection instance. Once you are connect, you may execute any of Couchbases' numerous operations against this connection.

Here is a simple example of instantiating a connection, setting a new document into the bucket and then retrieving its contents:

$cluster = new CouchbaseCluster('192.168.7.26');
$db = $cluster->openBucket('default');
$db->upsert('testdoc', array('name'=>'Frank'));
$res = $db->get('testdoc');
var_dump($res->value);
// array(1) {
//   ["name"]=>
//   string(5) "Frank"
// }

Documentation

An extensive documentation is available on the Couchbase website. Visit our PHP Community on the Couchbase website for the documentation as well as numerous examples and samples.

Source Control

The source code is available at https://github.com/couchbase/php-couchbase.

To execute our test suite, simply install and execute phpunit against your checked out source code. Tests assume that you have Couchbase Server with default bucket running on localhost (otherwise use environment variable CPDSN, CPBUCKET, CPUSER, CPPASS. E.g. CPDSN=couchbase://192.168.1.42/ CPBUCKET=travel-sample).

curl -L https://phar.phpunit.de/phpunit.phar > ~/bin/phpunit
chmod a+x ~/bin/phpunit
# or just 'dnf install php-phpunit-PHPUnit' on Fedora 24+

phpunit tests/

License

Copyright 2016 Couchbase Inc.

Licensed under the Apache License, Version 2.0.

See LICENSE for further details.