0

SDK 2.* でこのコードをブラウザで実行できません。

<?php
header('Content-type: text/plain; charset = utf-8');
require 'aws-autoloader.php';
use Aws\S3\S3Client;
require 's3_config.php'; // credentials vs.
$time_start = microtime(true);
#----------------------------------------------------#
$bucket = time()."unique_bucket_id";
  echo "Creating bucket named {$bucket}\n";
  $result = $client->createBucket(array(
  'Bucket' => $bucket
  ));
  // Wait until the bucket is created
  $client->waitUntilBucketExists(array('Bucket' => $bucket));

  echo "Created {$bucket}\n";
#-------------------------------------------------------#
$time = microtime(true)-$time_start;
echo PHP_EOL.PHP_EOL.$time.PHP_EOL;

しかし、ターミナルでは明らかに機能しています。ブラウザで作業するにはどうすればよいですか? (php sdk 1.6.2に従ってコードを変更すると、端末とブラウザの両方で動作します。つまり、権限の問題はありません。)

4

1 に答える 1

1

cli から実行すると、ホーム ディレクトリは、ログインしているユーザーのホーム ディレクトリとして環境に設定されます。/home/your_username

Web では、別のホーム ディレクトリ (通常は Web サービスのディレクトリ) が設定されます。echo getenv('HOME');cli と web の両方で実行して確認し.aws/credentials、対応するディレクトリにファイルを作成できます。

于 2015-03-05T14:40:24.480 に答える