2016-06-06 4 views
1

Я следую AWS-СДК-PHP-Laravel readme.md для установки AWS-СДК-PHP-Laravel в Laravel 5,2Аус-СДК-PHP-Laravel получить ошибку 500 в Laravel 5,2

В composer.json

"require": { 
    "php": ">=5.5.9", 
    "laravel/framework": "5.2.*", 
    "aws/aws-sdk-php-laravel": "3.1.0" 
}, 

обновление композитор

В конфигурации/app.php

провайдеры добавить

Aws\Laravel\AwsServiceProvider::class, 

псевдонимами добавить

'Aws' => Aws\Laravel\AwsFacade::class, 

PHP мастеровых поставщика: публикации

и один из контроллеров

<?php 
namespace App\Http\Controllers; 
use App\Http\Controllers\Controller; 
use Aws; 

$cloudSearchDomain = App::make('aws')->get('cloudsearchdomain', array('endpoint' => xxxxxxxxxxxxxxxxxxxxxxxxxxx)); 

всегда получают

Fatal error: Class 'App\App' not found 

Если добавить

use App; 

получить

BadMethodCallException in Sdk.php line 178: 
Unknown method: get. 

, но тот же самый код отлично работает в Laravel 4,2

Как я могу это исправить?

+0

Попробуйте заменить 'App :: сделать ('АМС') -> get' с' Aws :: get' – ntzm

+0

BadMethodCallException в Sdk.php линии 178: Неизвестный метод: получить , – Steven

+0

Хорошо, глядя на документы, похоже, что вы должны сделать что-то вроде этого, прежде чем вызывать любые методы, такие как 'get':' $ xxx = AWS :: createClient ('name-of-aws-service-here'); ' Итак, для домена облачного поиска: '$ csd = AWS :: createClient ('CloudSearchDomain')' then' $ csd-> get ('blah'); ' – ntzm

ответ

0
$cloudSearchDomain = App::make('aws')->createClient('cloudsearchdomain', [ 
    'endpoint' => xxxxxxxxxxxxxxxxxxxxxxxxxxx, 
]); 

или

$cloudSearchDomain = Aws::createClient('cloudsearchdomain', [ 
    'endpoint' => xxxxxxxxxxxxxxxxxxxxxxxxxxx, 
]);