Introducing PHP-AWS

Raven

Introducing PHP-AWS

Today I’m happy to announce a new open source project from Sitening.

PHP-AWS is a collection of PHP classes that let you tap into the power of Amazon’s Web Services platform. This is the same codebase we used to build Basejumpr. It lets us offer our users unlimited storage space and run as many servers as we need in the cloud.

PHP-AWS is hosted in Google Code and released under the MIT License, which means you’re free to use this code in any way you wish. However, we do ask that you contribute back any improvements you make so the community can benefit from them.

Currently, the project contains support for:

By no means is our code perfect. There’s plenty of room for improvement. However, we’ve been using it for nearly three months without any major issues and consider it stable for release.

When we first began work on Basejumpr, I looked around the net and found a lot of example code using S3. Perl, Ruby, Python, and PHP libraries aplenty. Unfortunately, most of the code was incomplete, poorly designed, or died (due to memory issues) when uploading/downloading large files.

Since working with big files was a must for us, this meant we’d have to build the code ourselves. We’re pleased with the results. And we hope you’ll be, too.

Related Posts Plugin for WordPress, Blogger...

Tell us what you think

  • Sebastian

    no answer?
    question are too difficult?

  • Sebastian

    I would like sign up to basejump.
    Which version of activeCollab is installed on your serwer?
    Is is stable?

  • Sebastian

    I have just read on activeCollab blog that they will publish version 1.0 soon. Licence will change and what will happen with basejump then?

  • http://sitening.com/ Jon Henshaw

    Sebastian, the BaseJumpr code is freely available. All you need to do is ask for the code. In fact, you can get more info on it at Google Code – http://code.google.com/p/basejumpr/ . And yes, people provide services with open source software every day and charge for their service. It’s a pretty common and accepted practice. However, the importer software is not open source and did not come from activecollab, and is not freely available.

  • Sebastian

    I visited activecollab.com and there is free and opensource project.
    You build basejumpr.com Is it right way for professional company use and make money from free opensource software?

  • PanMan

    Hi. I still had some problems, but I got it all working. I posted in the Amazon forums thread, lets keep the discussion there.
    http://developer.amazonwebservices.com/connect/thread.jspa?messageID=56890&#56890

  • http://www.sitening.com/ Tyler Hall

    PanMan: I’m pasting a copy of the reply I sent you in the AWS forum…

    I downloaded a fresh copy of PHP-AWS and everything worked fine for me.

    Are you using PHP 4 or 5? This class uses PHP5 syntax. If you’re running 4, it will skip over the __construct() constructor and never initialize the class variable $this->_hasher. That’s probably why you’re having to create it locally inside the signature() method.

    If you change __construct() to be named S3() you should be set. I believe that’s the only PHP5 specific code in the class.

    As for the example file saying you don’t have any buckets, that’s probably because it didn’t initialize $this->_key and $this->secret in __construct() either. It wasn’t able to connect to S3 since it didn’t have your login information.

  • PanMan

    I do have that installed. As I posted on the S3 forum:
    http://developer.amazonwebservices.com/connect/thread.jspa?threadID=14678&tstart=0

    If I add
    $this->_hasher = new Crypt_HMAC($this->_secret, “sha1″);
    on the line before the line that errors, it works, but it tells me I have no buckets. I use the example code from your class. Love to get it working (and feeling kinda newbie here..)

  • http://www.sitening.com/ Tyler Hall

    PanMan: It looks like you don’t have the Crypt_HMAC Pear module installed. You can get it here:

    http://pear.php.net/package/Crypt_HMAC

  • PanMan

    I get an error on line 314 of your class:
    Fatal error: Call to a member function on a non-object in /path/s3class.php on line 314
    That line reads: $sha1 = $this->_hasher->hash($str);
    Any ideas how to fix this?
    Thanks!