aws / aws-sdk-php-zf2

ZF2 module for using the AWS SDK for PHP to interact with AWS services like S3, DynamoDB, SQS, EC2, etc.
http://aws.amazon.com/sdkforphp/
Apache License 2.0
103 stars 63 forks source link

Generating incorrect upload URL #32

Closed dkaswan closed 8 years ago

dkaswan commented 8 years ago

Upgraded to version 2 and updated config and code accordingly. Now it is generating incorrect URL (note the double dots after s3(..) in error message)

Exception details:

Aws\S3\Exception\S3Exception

File:

\MyProject\vendor\aws\aws-sdk-php\src\WrappedHttpHandler.php:159

Message:

Error executing "PutObject" on "https://s3..amazonaws.com/my-bucket/files/xxxxxx.txt"; AWS HTTP error: cURL error 6: Could not resolve host: s3..amazonaws.com (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

Stack trace:

0 \MyProject\vendor\aws\aws-sdk-php\src\WrappedHttpHandler.php(77): Aws\WrappedHttpHandler->parseError(Array, Object(GuzzleHttp\Psr7\Request), Object(Aws\Command))

1 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(199): Aws\WrappedHttpHandler->Aws{closure}(Array)

2 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(170): GuzzleHttp\Promise\Promise::callHandler(2, Array, Array)

3 \MyProject\vendor\guzzlehttp\promises\src\RejectedPromise.php(40): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise{closure}(Array)

4 \MyProject\vendor\guzzlehttp\promises\src\TaskQueue.php(60): GuzzleHttp\Promise\RejectedPromise::GuzzleHttp\Promise{closure}()

5 \MyProject\vendor\guzzlehttp\guzzle\src\Handler\CurlMultiHandler.php(96): GuzzleHttp\Promise\TaskQueue->run()

6 \MyProject\vendor\guzzlehttp\guzzle\src\Handler\CurlMultiHandler.php(123): GuzzleHttp\Handler\CurlMultiHandler->tick()

7 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(240): GuzzleHttp\Handler\CurlMultiHandler->execute(true)

8 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(217): GuzzleHttp\Promise\Promise->invokeWaitFn()

9 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(261): GuzzleHttp\Promise\Promise->waitIfPending()

10 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(219): GuzzleHttp\Promise\Promise->invokeWaitList()

11 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(261): GuzzleHttp\Promise\Promise->waitIfPending()

12 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(219): GuzzleHttp\Promise\Promise->invokeWaitList()

13 \MyProject\vendor\guzzlehttp\promises\src\Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending()

14 \MyProject\vendor\aws\aws-sdk-php\src\AwsClient.php(202): GuzzleHttp\Promise\Promise->wait()

15 \MyProject\vendor\aws\aws-sdk-php\src\AwsClient.php(167): Aws\AwsClient->execute(Object(Aws\Command))

16 \MyProject\module\Application\src\Application\Model\Mymodule.php(377): Aws\AwsClient->__call('putObject', Array)

17 \MyProject\module\Mymodule\src\Mymodule\Controller\MymoduleController.php(20): Application\Model\Mymodule->uploadToS3('files/x...')

18 \MyProject\vendor\zendframework\zend-mvc\src\Controller\AbstractActionController.php(82): Mymodule\Controller\MymoduleController->indexAction()

19 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))

20 \MyProject\vendor\zendframework\zend-eventmanager\src\EventManager.php(444): call_user_func(Array, Object(Zend\Mvc\MvcEvent))

21 \MyProject\vendor\zendframework\zend-eventmanager\src\EventManager.php(205): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))

22 \MyProject\vendor\zendframework\zend-mvc\src\Controller\AbstractController.php(118): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))

23 \MyProject\vendor\zendframework\zend-mvc\src\DispatchListener.php(93): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Http\PhpEnvironment\Request), Object(Zend\Http\PhpEnvironment\Response))

24 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))

25 \MyProject\vendor\zendframework\zend-eventmanager\src\EventManager.php(444): call_user_func(Array, Object(Zend\Mvc\MvcEvent))

26 \MyProject\vendor\zendframework\zend-eventmanager\src\EventManager.php(205): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))

27 \MyProject\vendor\zendframework\zend-mvc\src\Application.php(314): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))

28 \MyProject\public\index.php(96): Zend\Mvc\Application->run()

29 {main}

jeskew commented 8 years ago

It looks like you're supplying an empty string as your region. You will need to specify one of the regions listed here in your configuration.

jeskew commented 8 years ago

Please feel free to reopen if you have any questions or concerns.