Download the PHP package bttr/laravel-async-aws-s3 without Composer
On this page you can find all versions of the php package bttr/laravel-async-aws-s3. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package laravel-async-aws-s3
Laravel AsyncAws S3
Laravel filesystem disks backed by AsyncAws
instead of the AWS SDK, using the League's
flysystem-async-aws-s3 adapter.
Requires PHP 8.5+ and Laravel 13+.
Installation
That is all. The package replaces Laravel's built-in s3 driver, so existing
s3 disks in config/filesystems.php keep working unchanged — including
url(), temporaryUrl(), temporaryUploadUrl() and checksum().
Once no disk uses the SDK any more you can drop it:
Configuration
Disk configuration is unchanged:
Supported on top of the usual keys:
| Key | Effect |
|---|---|
profile |
Read credentials from that ~/.aws/credentials profile. |
send_chunked_body |
Send aws-chunked request bodies. Off by default; needed by some S3-compatible services. |
Leave key/secret empty to use the AsyncAws credential chain: environment
variables, ~/.aws, ECS/EKS container credentials, IMDS, and web identity — so
IAM roles work without configuration.
Keeping Laravel's s3 driver
The package also registers an async-s3 driver name, always. To stop it from
claiming s3, point it at that name instead:
Disks with 'driver' => 'async-s3' then use AsyncAws while 'driver' => 's3'
stays on the AWS SDK. Publish the config to set this in a file:
Differences from the AWS SDK driver
getClient()returns anAsyncAws\SimpleS3\SimpleS3Client, not anAws\S3\S3Client. Code touching the raw client — Laravel Vapor, custom presigners, SDK middleware — needs adjusting or should stay on the SDK driver.- Unsupported disk options throw rather than being silently dropped:
credentials,signature_version,use_accelerate_endpoint,use_dual_stack_endpoint,bucket_endpoint,endpoint_providerandhttp. Options AsyncAws satisfies anyway —stream_reads,ua_append— are accepted and ignored. - No SSO credential support. AsyncAws reads static credentials, profiles,
roles assumed via web identity, and instance/container metadata — not
aws sso loginsessions. - Uploads are multipart via
SimpleS3Client::upload()(64 MB parts, overridable per write withPartSize), so objects larger than 5 GB work. - A disk's
optionsapply to writes only (write,writeStream,createDirectory), not to reads, copies or checksums. temporaryUploadUrl()returns no headers. SigV4 query signing puts everything in the URL, so a plainPUTto it is enough.
Testing
The integration tests run against any S3-compatible server:
License
MIT. See LICENSE.
All versions of laravel-async-aws-s3 with dependencies
async-aws/simple-s3 Version ^3.0
illuminate/filesystem Version ^13.0
illuminate/support Version ^13.0
league/flysystem-async-aws-s3 Version ^3.31