Using an Amazon S3 bucket as a static web host with Amazon SDK for PHP Version 3
You can host a static website on Amazon S3. To learn more, see Hosting a Static Website on Amazon S3.
The following example shows how to:
-
Get the website configuration for a bucket using GetBucketWebsite.
-
Set the website configuration for a bucket using PutBucketWebsite.
-
Remove the website configuration from a bucket using DeleteBucketWebsite.
All the example code for the Amazon SDK for PHP Version 3 is available here on GitHub
Credentials
Before running the example code, configure your Amazon credentials. See Credentials for the Amazon SDK for PHP Version 3.
Get, set, and delete the website configuration for a bucket
Imports
require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\S3\S3Client;
Sample Code
$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); // Retrieving the Bucket Website Configuration $bucket = 'my-s3-bucket'; try { $resp = $s3Client->getBucketWebsite([ 'Bucket' => $bucket ]); echo "Succeed in retrieving website configuration for bucket: " . $bucket . "\n"; } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; } // Setting a Bucket Website Configuration $params = [ 'Bucket' => $bucket, 'WebsiteConfiguration' => [ 'ErrorDocument' => [ 'Key' => 'foo', ], 'IndexDocument' => [ 'Suffix' => 'bar', ], ] ]; try { $resp = $s3Client->putBucketWebsite($params); echo "Succeed in setting bucket website configuration.\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; } // Deleting a Bucket Website Configuration try { $resp = $s3Client->deleteBucketWebsite([ 'Bucket' => $bucket ]); echo "Succeed in deleting policy for bucket: " . $bucket . "\n"; } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; }