Blame view

sources/3rdparty/aws-sdk/_docs/KNOWNISSUES.md 3.33 KB
03e52840d   Kload   Init
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
  # Known Issues
  
  ## 2GB limit for 32-bit stacks; all Windows stacks.
  
  Because PHP's integer type is signed and many platforms use 32-bit integers, the AWS SDK for PHP does not correctly
  handle files larger than 2GB on a 32-bit stack (where "stack" includes CPU, OS, web server, and PHP binary). This is a
  [well-known PHP issue]. In the case of Microsoft® Windows®, there are no official builds of PHP that support 64-bit
  integers.
  
  The recommended solution is to use a 64-bit Linux stack, such as the [64-bit Amazon Linux AMI] with the latest version of
  PHP installed.
  
  For more information, please see: [PHP filesize: Return values]. A workaround is suggested in
  `AmazonS3::create_mpu_object()` [with files bigger than 2GB].
  
     [well-known PHP issue]: http://www.google.com/search?q=php+2gb+32-bit
     [64-bit Amazon Linux AMI]: http://aws.amazon.com/amazon-linux-ami/
     [PHP filesize: Return values]: http://docs.php.net/manual/en/function.filesize.php#refsect1-function.filesize-returnvalues
     [with files bigger than 2GB]: https://forums.aws.amazon.com/thread.jspa?messageID=215487#215487
  
  
  ## Amazon S3 Buckets containing periods
  
  Amazon S3's SSL certificate covers domains that match `*.s3.amazonaws.com`. When buckets (e.g., `my-bucket`) are accessed
  using DNS-style addressing (e.g., `my-bucket.s3.amazonaws.com`), those SSL/HTTPS connections are covered by the certificate.
  
  However, when a bucket name contains one or more periods (e.g., `s3.my-domain.com`) and is accessed using DNS-style
  addressing (e.g., `s3.my-domain.com.s3.amazonaws.com`), that SSL/HTTPS connection will fail because the certificate
  doesn't match.
  
  The most secure workaround is to change the bucket name to one that does not contain periods. Less secure workarounds
  are to use `disable_ssl()` or `disable_ssl_verification()`. Because of the security implications, calling either of
  these methods will throw a warning. You can avoid the warning by adjusting your `error_reporting()` settings.
  
  
  ## Expiring request signatures
  
  When leveraging `AmazonS3::create_mpu_object()`, it's possible that later parts of the multipart upload will fail if
  the upload takes more than 15 minutes.
  
  
  ## Too many open file connections
  
  When leveraging `AmazonS3::create_mpu_object()`, it's possible that the SDK will attempt to open too many file resources
  at once. Because the file connection limit is not available to the PHP environment, the SDK is unable to automatically
  adjust the number of connections it attempts to open.
  
  A workaround is to increase the part size so that fewer file connections are opened.
  
  
  ## Exceptionally large batch requests
  
  When leveraging the batch request feature to execute multiple requests in parallel, it's possible that the SDK will
  throw a fatal exception if a particular batch pool is exceptionally large and a service gets overloaded with requests.
  
  This seems to be most common when attempting to send a large number of emails with the SES service.
  
  
  ## Long-running processes using SSL leak memory
  
  When making requests with the SDK over SSL during long-running processes, there will be a gradual memory leak that can
  eventually cause a crash. The leak occurs within the PHP bindings for cURL when attempting to verify the peer during an
  SSL handshake. See <https://bugs.php.net/61030> for details about the bug.
  
  A workaround is to disable SSL for requests executed in long-running processes.