2016-08-03 171 views
0

我创建了一个代码使用亚马逊S3使用这个作曲家组成:Amazon S3和Yii2

https://github.com/2amigos/yii2-resource-manager-component

这工作非常出色。

但我改变了我的服务器,当我上传图像到Amazon S3,我收到此错误:

PHP Fatal Error – yii\base\ErrorException 

类“AWS \ S3 \枚举\ CannedAcl”未找到

我没有改变任何代码,我不明白为什么这个错误,我找不到解决方案 我该如何解决它?

这是完全错误:

PHP Fatal Error – yii\base\ErrorException 

Class 'Aws\S3\Enum\CannedAcl' not found 
1. in /opt/app-root/src/admapps/vendor/2amigos/yii2-resource-manager-component/AmazonS3ResourceManager.php at line 78 
69707172737475767778798081828384858687 * @return \Guzzle\Service\Resource\Model 
*/ 
public function save($file, $name, $options = []) 
{ 
$options = ArrayHelper::merge([ 
'Bucket' => $this->bucket, 
'Key' => $name, 
'SourceFile' => $file->tempName, 
'ACL' => CannedAcl::PUBLIC_READ // default to ACL public read 
], $options); 

$this->getClient()->putObject($options); 
} 

/** 
* Removes a file 
* @param string $name the name of the file to remove 
* @return boolean 
*/ 
2. in /opt/app-root/src/admapps/vendor/yiisoft/yii2/base/InlineAction.php at line 55 – app\controllers\BeersController::actionUploadlogobeer() 
3. in /opt/app-root/src/admapps/vendor/yiisoft/yii2/base/InlineAction.php at line 55 – call_user_func_array:{/opt/app-root/src/admapps/vendor/yiisoft/yii2/base/InlineAction.php:55}() 
4. in /opt/app-root/src/admapps/vendor/yiisoft/yii2/base/Controller.php at line 154 – yii\base\InlineAction::runWithParams() 
5. in /opt/app-root/src/admapps/vendor/yiisoft/yii2/base/Module.php at line 454 – yii\base\Controller::runAction() 
6. in /opt/app-root/src/admapps/vendor/yiisoft/yii2/web/Application.php at line 87 – yii\base\Module::runAction() 
7. in /opt/app-root/src/admapps/vendor/yiisoft/yii2/base/Application.php at line 375 – yii\web\Application::handleRequest() 
8. in /opt/app-root/src/admapps/web/index.php at line 13 – yii\base\Application::run() 
78910111213require(__DIR__ . '/../vendor/autoload.php'); 
require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php'); 
require(__DIR__ . '/../helpers/Utils.php'); 

$config = require(__DIR__ . '/../config/web.php'); 

(new yii\web\Application($config))->run(); 
+0

此扩展使用“aws/aws-sdk-php”:“2.5.2”和这是非常古老的(在GitHub版本3.18是最新的)。 AWS表示他们已经删除了版本3中的CannedAcl,因此它不应该对2.5.2(它存在于2.5.2中)产生影响。无论如何,有关于此https://github.com/2amigos/yii2-resource-manager-component/issues/10 – Bizley

+0

报告相同的问题谢谢你,你是对的。我需要更新我的代码。 –

回答

0

发布者Bizley

此扩展使用 “AWS/AWS-SDK-PHP”: “2.5.2”,这是非常旧的(在GitHub的版本3.18是最新的)。 AWS表示他们已经删除了版本3中的CannedAcl,因此它不应该对2.5.2(它存在于2.5.2中)产生影响。无论如何,有关于此github.com/2amigos/yii2-resource-manager-component/issues/10报告的相同问题 - Bizley