AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

AWS SDK for PHP 2 を Composer経由でセットアップ

PHPのライブラリ管理として有名なのは pear なのかと思います。ですが、AWS SDK for PHPでは、Composerの利用を推奨してましたので、こちらを利用してみました。
簡単な記述で、自身のプログラムとの依存関係が明確になるのが良いですね。依存するバージョンも細かく指定できます。便利だなぁと感じました。

ComposerでSDKを取得

次の4ステップで出来ます。このサイトを参考に実行しました。

  1. 次の内容で composer.jsonファイル を作成
{
    "require": {
        "aws/aws-sdk-php": "2.*"
    }
}
  1. Composerをダウンロードしてインストール。composer.pharが作成される。
  2. Composerを使ってSDKをインストール。vendorフォルダ配下に各種依存ライブラリが準備される。
    • php composer.phar install
    • ※後述のOpenSSLが許可されてる必要あり
  3. Composer の autoloader をプログラムで指定する
    • require '/path/to/sdk/vendor/autoload.php';

OpenSSLが必要

ただ、php.iniでOpenSSLの許可がないと次のエラーが出るので対応しておく必要ありです。

C:\work\Composer>php composer.phar install
Loading composer repositories with package information
Installing dependencies (including require-dev)
  - Installing symfony/event-dispatcher (v2.3.3)

  [RuntimeException]
  You must enable the openssl extension to download files via https

php.iniの修正箇所。次を探して、コメントを外す。

;extension=php_openssl.dll

多様なインストール方法

その他、4種類のインストール方法が紹介されています。

インストール方法とSDKの読込み

なおインストール方法により、SDKをrequireする方法が変わります。公式のSDKドキュメントでは、基本Composerを使ってダウンロードした方法のみが紹介されていますので、適時読み替えるように書いてありました。

  • Including the SDK
    • Composer利用時: require '/path/to/vendor/autoload.php';
    • Phar利用時  : require '/path/to/aws.phar';
    • Zip 利用時  : require '/path/to/aws-autoloader.php';
    • PEAR利用時  : require 'AWSSDKforPHP/aws.phar';