[Extension] Ext Elliptics

The ExtElliptics is a Yii Framework extension developed by Flamp Tech Team (DoubleGIS LLC).

Provides methods to work with the Elliptics Network that is a fault tolerant key/value storage. See www.ioremap.net/projects/elliptics for more info.


  • Download link: 3432



  • Yii 1.1.*


  • Unpack all files under your project ‘extensions’ folder

  • Include your new extension into your project main.php configuration file:

'components' => array(

    'elliptics' => array(

         'class' => 'application.extensions.Elliptics.ExtElliptics',

         'privateServerAddress' => '',

         'publicServerAddress' => 'localhost',

         'writePort' => '8080',

         'readPort' => '80',

         'monitoringPort' => '81',




  • Configure your Elliptics Proxy so it can accept custom upload and direct requests:



    <handler pool="read" port="[%port_read%]">

        <component name="elliptics-proxy"/>


    <handler pool="write" port="[%port_write%]">

        <component name="elliptics-proxy"/>




  • Note, that all files uploaded by extension will have a timestamp in their metadata so you need

    to make requests for file content like this:


You can easily hide this by your proxy web-server settings. Nginx configuration example:

   upstream elproxy {

       server unix:/var/run/elliptics/default.sock;


   server {

       listen       80;

       location @elliptics {

            include        fastcgi_params;

            fastcgi_pass   elproxy;


       location ~ ^/([^/?]*\.[^/?]*(\?.*)?)$ {

            set $file $1;

            rewrite ^ /?direct&name=$file&embed_timestamp=1 break;

            try_files @elliptics;




  • Enjoy!


To upload file:

Yii::app()->elliptics->upload('/path/to/file/1.txt', 'custom_name.txt');

To get uploaded file content:

$fileContent = Yii::app()->elliptics->get('custom_name.txt');

To delete file:



  • 1.1 Initial release

I was looking for crucial information on this subject. The information was important as I am about to launch my own portal.