Shuhail Alam
Shuhail Alam

Reputation: 174

AWS php sdk is not working with PHP 7

Following code works well in PHP 5.6.

require_once '../aws/aws-autoloader.php';

$config = [
    'region'  => 'ap-south-1',
    'version' => 'latest',
    'credentials' => [
        'key'    => '...',
        'secret' => '...'
    ]
];

$sdk = new Aws\Sdk($config);

$client = $sdk->createS3();

But on PHP 7, it through error:

Fatal error: Uncaught TypeError: Argument 1 passed to Aws\Common\Client\AbstractClient::__construct() must be an instance of Aws\Common\Credentials\CredentialsInterface, array given, called in /var/www/html/webservice/vendor/aws3/Aws/Sdk.php on line 316 and defined in /var/www/html/aws-sdk/vendor/aws/aws-sdk-php/src/Aws/Common/Client/AbstractClient.php:75 Stack trace: #0 /var/www/html/webservice/vendor/aws3/Aws/Sdk.php(316): Aws\Common\Client\AbstractClient->__construct(Array) #1 /var/www/html/webservice/vendor/aws3/Aws/Sdk.php(291): Aws\Sdk->createClient('S3', Array) #2 index.php(14): Aws\Sdk->__call('createS3', Array) thrown in /var/www/html/aws-sdk/vendor/aws/aws-sdk-php/src/Aws/Common/Client/AbstractClient.php on line 75

Please suggest me how can I make it work on PHP 7.

Thanks.

UPDATE: I have both AWS SDK version 2 & 3 in my project. this might be a issue of conflict. Then how to solve the conflict?

Upvotes: 1

Views: 1280

Answers (1)

Shuhail Alam
Shuhail Alam

Reputation: 174

This problem doesn't have any issue with PHP 7.0. It's the case of conflict SDK ver 2 & 3.

This two sdk can't be used together. so I had to upgrade to sdk 3.

Upvotes: 1

Related Questions