我正在localhost(WAMP)上使用适用于PHP的AWS S3 SDK,并且运行良好。
添加。信息:在本地用户配置文件和项目中安装带有全局文件和凭据文件的.aws文件夹后,工作正常。
致命错误:未捕获的Aws \ Exception \ CredentialsException:从实例配置文件元数据服务器检索凭据时出错。
将整个项目传输到提供者管理的Web空间时,找不到凭据。它仅适用于硬编码的凭据,但我认为对此数据的丢失控制权过高。
AWS documenatation中用于存储桶列表的示例。
需要'aws-autoloader.php'; 使用Aws \ S3 \ S3Client;
不能以这种方式工作:
$s3Client = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'eu-central-1'
]);
以这种方式工作:
$s3Client = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'eu-central-1',
'credentials' => [
'key' => "THE_KEY",
'secret' => "THE_SECRET"
]]
);
我的网络服务器的根目录: / var / www / vhosts / my-webspace / my-subdomain
我的项目的根源: / var / www / vhosts / my-webspace / my-subdomain / folder1 / folder2
文件夹:
应用程序脚本和自动加载器存储在folder2中。aws也位于Web服务器的根目录中(请参见上文)。我试图将.Aws文件夹也复制到webservers根文件夹中,但没有成功。
在Web服务器php.ini中是否存在必须设置的设置(如果可能的话,在提供商管理的Web空间中)?