前提・実現したいこと
LinuxサーバーからAWS S3サーバーへファイルをアップロードしたいです。
cronにてPHPファイル実行して定期的にアップロードしたいです。
WinSCPでの接続は問題ないことが確認できているので、
設定等の情報は問題ないと思ってます。
現時点では、S3Client生成時に落ちてしまってます。
もしかしたらSDKなりの何かしらが不足しているのかもしれないとも思ってます。
お力を貸してください。
2021.09.29 13:00追記
下記のエラーが出ておりました。
「ユーザーが sudoers 内にありません」
composerのインストールはroot権限で実行してないです。
※root権限だとwarningが出たので、避けてインストールをしました。
2021.09.29 14:25追記
root権限にてcomposerをインストールしたのですが、変わらずでした。
該当のソースコード
PHP
1<?php 2 use Aws\Credentials\CredentialProvider; 3 use Aws\S3\S3Client; 4 5 // S3情報 6 $user = 'ユーザー'; 7 $region = 'リージョン'; 8 $version = 'latest'; 9 10 // 認証情報 11 $access_key_id = 'アクセスキー'; 12 $access_key = 'シークレットキー'; 13 14 // バケット情報 15 $bucket = 'バケット名'; 16 17 // アップロードファイル情報 18 $file1 = 'new.csv'; 19 $file2 = 'old.csv'; 20 21 // ファイルをアップロードする 22 function uploadData() { 23 24 try { 25 echo "1"; 26 $client = new S3Client([ 27 'region' => $region, 28 'version' => $version, 29 'credentials' => [ 30 'key' => $access_key_id, 31 'secret' => $access_key, 32 ], 33 ]); 34 echo "2"; 35 } catch (Exception $e) { 36 echo $e->getMessage(); 37 } 38 39 // ファイルのアップロード 40 $res = $client->putObject([ 41 'Bucket' => $bucket, 42 'Key' => $file1, 43 'SourceFile' => $file2, 44 'ContentType' => mime_content_type($file2) 45 ]); 46 } 47 uploadData(); 48?>
試したこと
・composer require aws/aws-sdk-phpの再実行
・try-catchにて例外を拾おうと試みましたが、何も出ませんでした
補足情報(FW/ツールのバージョンなど)
■Linuxサーバー
PHP 7.3.9
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/29 02:24