** 動作環境 [#r392a414]

- 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

** 事前準備 [#l353759c]

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

** AWS SDK for PHP v3をインストール [#kd023ac2]

- 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配下に配置
-- アップロード用の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";
 }
 ?>

+ ブラウザ経由で http://192.168.33.10/hello_aws.php へアクセス
+ S3バケットにtest.txtがアップロードされていることを確認

** PHPエラーログ出力設定 [#x8f87fea]

- エラーログ出力ファイル作成

 $ 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