Introducing PHP-AWS

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.

Jon Henshaw
Co-Founder and President

Jon is the Co-founder and President of Raven Internet Marketing Tools.

Jon is the Co-founder and President of Raven Internet Marketing Tools.



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?

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.


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

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 – . 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.


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?


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

Comments are closed.