2016-08-03 167 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