Re: phprados, a PHP extension for librados

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I just found out the GIT repository wasn't synced correctly, so if
anyone made a clone, you probably will have outdated code.

Corrected the issue, if you do a pull or fresh clone you should have the
latest version.

Wido

On Wed, 2010-09-15 at 20:51 +0200, Wido den Hollander wrote:
> Hi,
> 
> The last few weeks me and my colleague Tim Jurcka have been working on a
> PHP extension for librados.
> 
> Right now we've implemented the most basic functions of librados, which
> enables you to use the native librados functions from PHP.
> 
> The extension is based on the C++ API from librados.
> 
> For now we've skipped the selfmanaged snapshots and the AIO functions.
> Selfmanaged snapshots seem to be a bit tricky and AIO is not that easy
> in PHP.
> 
> The goal of this extension is to be able to use RADOS easily with PHP,
> this is possible with the current implementation, but we are working on:
> 
> * High Level OO-interface for RADOS
> * Stream Wrappers ( echo file_get_contents("rados://pool/obj"); )
> 
> These extra features should make usage easier, but like said, the
> current low-level functions work fine.
> 
> You can:
> * Create/Delete pools
> * Create/Delete objects
> * Read/Write objects
> * List objects
> * Setting/Getting xattrs
> * Create pool snapshots
> * Rollback objects
> 
> To make reading a object a bit easier, we've added "read_full",
> internally this function simply does a "stat" and then reads the full
> length of the object.
> 
> Same goes for "list_objects", internally this calls "list_objects_open|
> more|close" while limiting the result to 1024 objects.
> 
> The extension has been tested on 32 and 64-bits with PHP 5.3.2, but it
> should be compatible back to PHP 5.2.x
> 
> Handling large objects has not been tested fully, but there could be
> some limitations inside PHP's engine, so we are not sure how good this
> will work.
> 
> With standard usage, librados simply reads /etc/ceph/ceph.conf, but you
> can pass the standard arguments to the constructor, so you should be
> able to use it without a ceph.conf (See the attached examples).
> 
> The extension can be fetched from: http://www.widodh.nl/git/phprados.git
> 
> When building the extension, you will need librados, libceph, libcrush
> and their development headers.
> 
> Installing the extension:
> 
> $ git clone http://www.widodh.nl/git/phprados.git
> $ cd phprados
> $ phpize
> $ ./configure
> $ make && make install
> 
> Now modify your php.ini and add: extension=rados.so (Or load the .so
> with dl(); )
> 
> $ php --re rados
> 
> This should give you some information, which tells you the extension is
> working.
> 
> There is also a "debian" directory, with this you can build a .deb of
> the extension. Just run "dpkg-buildpackage" in the source directory,
> this will build "php5-rados" for you.
> 
> Testing/feedback is needed, we've tried to test the extension as much as
> possible, but we're pretty sure there still are some bugs :-)
> 
> Attached you will find some examples of using the extension.
> 
> Questions or comments? I'll (Wido) be hanging around on the IRC channel
> most of the time, or just post them on the mailing list.
> 
> Thanks,
> 
> Wido den Hollander
> Tim Jurcka
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux