ivan1911 / aws-sdk-php-laravel by ivan19111
forked from aws/aws-sdk-php-laravel

A simple Laravel 5 service provider for including the AWS SDK for PHP with fixed AWS library version.
Package Data
Maintainer Username: ivan19111
Package Create Date: 2017-06-01
Package Last Update: 2017-06-02
Home Page: http://aws.amazon.com/sdkforphp/
Language: PHP
License: Apache-2.0
Last Refreshed: 2020-05-22 15:01:19
Package Statistics
Total Downloads: 427
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

AWS Service Provider for Laravel 5

@awsforphp on Twitter Build Status Latest Stable Version Total Downloads ![Gitter](https://badges.gitter.im/Join Chat.svg)

This is a simple Laravel service provider for making it easy to include the official AWS SDK for PHP in your Laravel and Lumen applications.

This README is for version 3.x of the service provider, which is implemented to work with Version 3 of the AWS SDK for PHP and Laravel 5.1.

Major Versions:

  • 3.x (YOU ARE HERE) - For laravel/framework:~5.1 and aws/aws-sdk-php:~3.0
  • 2.x (2.0 branch) - For laravel/framework:5.0.* and aws/aws-sdk-php:~2.4
  • 1.x (1.0 branch) - For laravel/framework:4.* and aws/aws-sdk-php:~2.4


The AWS Service Provider can be installed via Composer by requiring the aws/aws-sdk-php-laravel package in your project's composer.json.

    "require": {
        "aws/aws-sdk-php-laravel": "~3.0"

Then run a composer update

php composer.phar update

To use the AWS Service Provider, you must register the provider when bootstrapping your application.


In Lumen find the Register Service Providers in your bootstrap/app.php and register the AWS Service Provider.



In Laravel find the providers key in your config/app.php and register the AWS Service Provider.

    'providers' => array(
        // ...

Find the aliases key in your config/app.php and add the AWS facade alias.

    'aliases' => array(
        // ...
        'AWS' => Aws\Laravel\AwsFacade::class,


By default, the package uses the following environment variables to auto-configure the plugin without modification:

AWS_REGION (default = us-east-1)

To customize the configuration file, publish the package configuration using Artisan.

php artisan vendor:publish

Update your settings in the generated app/config/aws.php configuration file.

return [
    'credentials' => [
        'key'    => 'YOUR_AWS_ACCESS_KEY_ID',
        'secret' => 'YOUR_AWS_SECRET_ACCESS_KEY',
    'region' => 'us-west-2',
    'version' => 'latest',
    // You can override settings for specific services
    'Ses' => [
        'region' => 'us-east-1',

Referring Laravel 5.2.0 Upgrade guide, you must using config
 file instead of environment variable option if using php artisan config:cache.

Learn more about configuring the SDK on the SDK's User Guide.


In order to use the AWS SDK for PHP within your app, you need to retrieve it from the Laravel IoC Container. The following example uses the Amazon S3 client to upload a file.

$s3 = App::make('aws')->createClient('s3');
    'Bucket'     => 'YOUR_BUCKET',
    'Key'        => 'YOUR_OBJECT_KEY',
    'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext',

If the AWS facade is registered within the aliases section of the application configuration, you can also use the following technique.

$s3 = AWS::createClient('s3');
    'Bucket'     => 'YOUR_BUCKET',
    'Key'        => 'YOUR_OBJECT_KEY',
    'SourceFile' => '/the/path/to/the/file/you/are/uploading.ext',