動作環境

  • OS X 10.11 El Capitan
  • Vagrant 1.8.1
  • VirtualBox 5.0.20
  • CentOS 7.2.1511
  • Apache 2.4.6
  • PHP 5.6.21

事前準備

  • S3バケット作成済み(Tokyoリージョン)
  • IAMユーザー作成&AmazonS3FullAccessポリシーをアタッチ済み

AWS SDK for PHP v3をインストール

  • Composerをインストール
$ curl -sS https://getcomposer.org/installer | php
  • Composerコマンドを用いて最新安定版のAWS SDK for PHPをインストール
$ php composer.phar require aws/aws-sdk-php
  • SDKモジュールをDocumentRoot配下へ移動
$ sudo chown vagrant /var/www/html
$ mv /home/vagrant/composer.* /var/www/html
$ mv /home/vagrant/vendor /var/www/html/vendor
  • S3バケットへファイルをアップロードするサンプル作成
    • アップロード用のtext.txt作成&DocumentRoot配下に配置
    • hello_aws.php作成
<?php
// Require the Composer autoloader.
require 'vendor/autoload.php';

use Aws\S3\S3Client;

// Instantiate an Amazon S3 client.
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'ap-northeast-1',
    'credentials' => [
        'key'    => 'my-access-key-id',
        'secret' => 'my-secret-access-key',
    ],
]);

try {
    $s3->putObject([
        'Bucket' => 'bucketname',
        'Key'    => 'test.txt',
        'Body'   => fopen('./test.txt', 'r'),
        'ACL'    => 'public-read',
    ]);
} catch (Aws\Exception\S3Exception $e) {
    echo "There was an error uploading the file.\n";
}
?>
  1. ブラウザ経由で http://192.168.33.10/hello_aws.php へアクセス
  2. S3バケットにtest.txtがアップロードされていることを確認

PHPエラーログ出力設定

  • エラーログ出力ファイル作成
$ sudo touch /var/log/php_errors.log
  • php.ini内の"error_log"コメントアウト解除&出力先指定
$ sudo vi php.ini
-------------------------
error_log = /var/log/php_errors.log
-------------------------
  • apacheユーザーにエラーログファイルの所有権を付与
$ chown apache:apache /var/log/php_errors.log

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-05-22 (日) 01:54:41 (909d)