** 動作環境 [#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