Skip to content
A complete CouchDB Query Server written in PHP.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Latest Stable Version Latest Unstable Version Build Status Scrutinizer Code Quality License Total Downloads

Elephant on Couch Server

EoC Server is a CouchDB's Query Server implementation made in PHP programming language. CouchDB delegates computation of views, shows, filters, etc. to external query servers. It communicates with them over standard input/output, using a very simple, line-based protocol. CouchDB launches the query server and starts sending commands. The server responds according to its evaluation of the commands. The default query server is written in JavaScript. You can use other languages by setting a MIME type in the language property of a design document or the Content-Type header of a temporary view. Design documents that do not specify a language property are assumed to be of type JavaScript, as are ad-hoc queries that are POSTed to temporary view without a Content-Type header. Using EoC Server you can finally write your views, updates, filters, shows directly in PHP. No more JavaScript, just pure PHP.

Composer Installation

To install EoC Server, you first need to install Composer, a Package Manager for PHP, following those few steps:

curl -s | php

You can run this command to easily access composer from anywhere on your system:

sudo mv composer.phar /usr/local/bin/composer

EoC Server Installation

Once you have installed Composer, it's easy install Elephant on Couch Server.

  1. Move into the directory where is located main.js file:
cd /opt/local/share/couchdb/server

If you are using MacPorts on Mac OS X, you can find it on /opt/local/share/couchdb/server, instead if you installed CouchDB from source you'll probably find it /usr/share/couchdb/server/. Please refer to the CouchDB installation instructions.

  1. Create a project for EoC Server:
sudo composer create-project 3f/eoc-server

CouchDB Configuration

You are finally ready to configure CouchDB to use EoC Server. At this point you just need to edit local.ini configuration file:

vim /opt/local/etc/couchdb/local.ini

Then, under the [query_servers] section, add the following line:



To benefit of EoC Server you must use EoC Client, a PHP client library for CouchDB. Using EoC Client, you can interact with CouchDB, and you can write your views directly in PHP. You don't need to know about CouchDB internals, neither JSON, just learn EoC Client and use it. All you need is to learn the MapReduce concept and an high level guide on CouchDB.


PHP 5.4.7 or above.


Filippo F. Fadda - -


Elephant on Couch Server is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.

You can’t perform that action at this time.