2014-02-14 150 views
2

我安裝了https://github.com/aws/aws-sdk-php-laravel SDK,隨後在readme.md的說明。所有安裝的東西,我把我的鑰匙,祕密,地區等放在/app/config/packages/aws/aws-sdk-php-laravelAWS SDK的Laravel給PHP致命錯誤

我得到上面簡單地引用該文件的

PHP Fatal error: Class 'Aws\Common\Aws' not found in /Volumes/Data/Users/chris/Sites/ln.com/vendor/aws/aws-sdk-php-laravel/src/Aws/Laravel/AwsServiceProvider.php on line 48 
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Aws\\Common\\Aws' not found","file":"\/Volumes\/Data\/Users\/chris\/Sites\/ln.com\/vendor\/aws\/aws-sdk-php-laravel\/src\/Aws\/Laravel\/AwsServiceProvider.php","line":48}} 

線路48的錯誤說:

$aws = Aws::factory($config); 

我每

我把明安裝我的提供者和別名在/app/config/app.php中:

'Aws\Laravel\AwsServiceProvider' 

提供商陣列英寸

我把:

'AWS' => 'Aws\Laravel\AwsFacade' 

的別名部分。

於是,我試圖用自己相同的使用例子:

$s3 = AWS::get('s3'); 
$s3->putObject(array(
    'Bucket' => 'My Bucket', 
    'Key'  => 'My Key', 
    'SourceFile'=> Config::get('settings.ProcessListings.image_dir') . $listing->mls_listing_id . "/test.txt" 
       )); 

我已經試過

我唯一的想法是在這裏,在我的文件,我想在使用SDK,在上面我有:

use Illuminate\Console\Command; 
    use Symfony\Component\Console\Input\InputOption; 
    use Symfony\Component\Console\Input\InputArgument; 

我已經加入到:

use Aws\Laravel\AwsFacade; 
use Aws\Laravel\AwsServiceProvider; 

和兩個但既不工作的組合。有任何想法嗎?

+1

你執行'作曲家轉儲自動加載-o'在您的服務器? –

+0

是,作曲家轉儲自動加載-o –

+1

即使還做了'作曲家update'同樣的錯誤?因爲'Aws \ Common \ Aws'是'aws/aws-sdk-php'的一部分,看起來它沒有安裝。 –

回答

2

您的問題在於類Aws\Common\Awsaws/aws-sdk-php不適用於composer(自動加載器)。這些都是步驟,通常修復Laravel,當這樣的事情發生,這個問題是不是在你的源代碼,當然:

cd /your/application/dir 

rm bootstrap/compiled.php 

rm -rf vendor (or just rename your vendor folder to test) 

composer update --no-dev