PHP SDK for Rackspace/OpenStack APIs
OpenStack users are recommended to use https://github.com/php-opencloud/openstack, which is the latest supported version of the SDK. This codebase which you are now looking at will enter end-of-life soon. For Rackspace Cloud users, a v2 is actively being worked on.
The PHP SDK should work with most OpenStack-based cloud deployments,
though it specifically targets the Rackspace public cloud. In
general, whenever a Rackspace deployment is substantially different
than a pure OpenStack one, a separate Rackspace subclass is provided
so that you can still use the SDK with a pure OpenStack instance
(for example, see the
OpenStack class (for OpenStack) and the
- PHP >=5.4
- cURL extension for PHP
Note: Since PHP 5.3 has reached end of life and is no longer officially supported, we are moving to 5.4 as a minimum requirement. If upgrading is not an option and you still need a stable version of the SDK for 5.3, please follow this guide.
You must install this library through Composer:
# Install Composer curl -sS https://getcomposer.org/installer | php # Require php-opencloud as a dependency php composer.phar require rackspace/php-opencloud
Once you have installed the library, you will need to load Composer's autoloader (which registers all the required namespaces). To do this, place the following line of PHP code at the top of your application's PHP files:
Note: this assumes your application's PHP files are located in the same folder as
vendor/. If your files are located
elsewhere, please supply the path to
vendor/autoload.php in the
require statement above.
And you're ready to go!
You can also check out the Getting Started guide for a quick tutorial.
Alternatively, if you would like to fork or clone the repository into a directory (to work and submit pull requests), you will need to execute:
php composer.phar install
Instead of the
require command. You can also specify the
--no-dev option if you do not want to install phpDocumentor
(which has lots of vendor folders).
Your feedback is appreciated! If you have specific problems or bugs with this SDK, please file an issue on Github. We also have a mailing list, so feel free to join to keep up to date with all the latest changes and announcements to the library.
For general feedback and support requests, contact us at https://developer.rackspace.com/support/
You can also find assistance via IRC on #rackspace at freenode.net.
If you'd like to contribute to the project, or require help running the unit/acceptance tests, please view the contributing guidelines.