AWS SDK for PHP
, (*1)
The AWS SDK for PHP enables PHP developers to use Amazon Web Services
in their PHP code, and build robust applications and software using services
like Amazon S3, Amazon DynamoDB, Amazon Glacier, etc. You can get started in
minutes by installing the SDK through Composer or by
downloading a single zip or phar file from our latest release., (*2)
Resources
-
User Guide โ For in-depth getting started and usage information
-
API Docs โ For operations, parameters, responses, and examples
-
Blog โ Tips & tricks, articles, and announcements
-
Sample Project - A quick, sample project to help get you started
- [Forum][sdk-forum] โ Ask questions, get help, and give feedback
-
Issues โ Report issues and submit pull requests
(see Apache 2.0 License)
-
@awsforphp โ Follow us on Twitter
Installing
The recommended way to install the AWS SDK for PHP is through Composer., (*3)
-
Install Composer:, (*4)
curl -sS https://getcomposer.org/installer | php
-
Next, run the Composer command to install the latest stable version of
the AWS SDK for PHP:, (*5)
composer require aws/aws-sdk-php
-
After installing, you need to require Composer's autoloader in your app:, (*6)
require 'vendor/autoload.php';
More installation instructions can be found in the
User Guide., (*7)
Features
- Provides easy-to-use HTTP clients for all supported AWS
services, regions, and authentication
protocols.
- Is built on Guzzle v5, and utilizes many of its features, including
persistent connections, concurrent requests, events and plugins, etc.
- Provides convenience features including easy response pagination via
Iterators, resource Waiters, and simple
modelled responses.
- Provides a multipart uploader tool for Amazon S3 and
Amazon Glacier that can be paused and resumed.
- Provides an Amazon S3 Stream Wrapper, so that you can
use PHP's native file handling functions to interact with your S3 buckets and
objects like a local filesystem.
- Provides the Amazon DynamoDB Session Handler for easily scaling
sessions on a fast, NoSQL database.
- Automatically uses IAM Instance Profile Credentials on
configured Amazon EC2 instances.
Getting Started
-
Sign up for AWS โ Before you begin, you need to
sign up for an AWS account and retrieve your AWS credentials.
-
Minimum requirements โ To run the SDK, your system will need to meet the
minimum requirements, including having PHP >= 5.5.0
compiled with the cURL extension and cURL 7.16.2+ compiled with a TLS
backend (e.g., NSS or OpenSSL).
-
Install the SDK โ Using Composer is the recommended way to install the
AWS SDK for PHP. The SDK is available via Packagist under the
aws/aws-sdk-php
package. Please see the
Installation section of the User Guide for more
detailed information about installing the SDK through Composer and other
means.
-
Using the SDK โ The best way to become familiar with how to use the SDK
is to read the User Guide. The
Getting Started Guide will help you become familiar with
the basic concepts, and there are also specific guides for each of the
supported services.
Quick Examples
Create an Amazon S3 client
<?php
// Require the Composer autoloader.
require 'vendor/autoload.php';
use Aws\S3\S3Client;
use Aws\Exception\S3Exception;
// Instantiate an Amazon S3 client.
$s3 = new S3Client([
'version' => 'latest',
'region' => 'us-west-2'
]);
Upload a file to Amazon S3
<?php
// Upload a publicly accessible file. The file size, file type, and MD5 hash
// are automatically calculated by the SDK.
try {
$s3->putObject([
'Bucket' => 'my-bucket',
'Key' => 'my-object',
'Body' => fopen('/path/to/file', 'r'),
'ACL' => 'public-read',
]);
} catch (S3Exception $e) {
echo "There was an error uploading the file.\n";
}