Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

S3 Bundle Laravel Package

jplarar/s3-bundle

A lightweight Laravel bundle that wraps AWS S3 storage, providing simple configuration and helpers for uploading, retrieving, and managing files on S3-compatible services. Integrates with Laravel's filesystem for quick cloud storage setup.

View on GitHub
Deep Wiki
Context7

jplarar/s3-bundle is a lightweight Laravel package that simplifies working with Amazon S3 storage. It wraps the AWS SDK with an opinionated, framework-friendly layer so you can upload, retrieve, and manage files using clean, fluent calls instead of boilerplate client configuration.

Ideal for projects that need dependable object storage without pulling in a heavier abstraction, the bundle supports config-driven credentials, signed URLs, and common file operations.

  • Simple, config-driven S3 client setup
  • Upload, download, and delete helpers
  • Pre-signed URL generation for private objects
  • Laravel service provider and facade integration
  • PSR-compatible, easy to extend
Frequently asked questions about S3 Bundle
Can I install jplarar/s3-bundle in a Laravel application?
No, not as delivered. The package is a Symfony2 bundle that registers through Symfony's Kernel and DI container extension conventions, and Laravel has no bundle system. Laravel resolves packages through ServiceProvider and facade bindings, so none of the bundle's wiring can be consumed by a Laravel app. Only a thin wrapper class around the AWS SDK is reusable, which is a few dozen lines of glue you would rewrite anyway.
Does jplarar/s3-bundle support Laravel 9, 10, or 11?
No. The package pins Symfony 2.x components and an AWS SDK generation from the 2015-2019 era, while Laravel 9, 10, and 11 require Symfony 5, 6, or 7 components. Composer will fail dependency resolution before any code runs, so this is a hard stop rather than a configuration problem. PHP 8.1+ compatibility is also unverified and unlikely given the age of the bundled SDK and Guzzle versions.
Why does Composer fail when I require jplarar/s3-bundle?
The composer.json constraints almost certainly require symfony/symfony at ~2.x along with an end-of-life AWS SDK 2.x and Guzzle 3 or 5. A modern Laravel application already pulls Symfony 5/6/7 and Guzzle 7, so the two dependency graphs cannot be satisfied simultaneously. Composer reports a conflict on the Symfony and Guzzle constraints, and relaxing them manually would drag EOL libraries into your tree.
What is the Laravel equivalent of this Symfony2 S3 bundle?
Use league/flysystem-aws-s3-v3 behind Laravel's built-in Storage facade, which is the first-party supported path for S3 disks. If you need lower-level control over bucket policies, multipart uploads, or presigned URLs, use aws/aws-sdk-php v3 directly. Both are actively maintained, PHP 8-ready, and documented against current Laravel versions.
Is jplarar/s3-bundle still maintained?
No. The last release was in June 2019, the repository has zero stars and zero dependents, and there has been no maintainer activity in roughly six years. Symfony 2.x itself reached end of life in November 2018. With no dependents there is essentially no real-world validation that the code works in a production path.
Is jplarar/s3-bundle safe to use in production?
It is not recommended. There is no CVE intake, no patch path, and no community exercising the code, so any vulnerability found in the package or its transitive dependencies would go unfixed. The dependency on an EOL AWS SDK generation carries its own unresolved security and protocol issues. The only reliable risk mitigation is to avoid taking the dependency at all.
How do I migrate existing code off jplarar/s3-bundle?
Freeze the legacy code path, inventory every call site including bucket, key, ACL, and presigned URL TTL, then rewrite each one against Storage::disk('s3') or the AWS SDK v3 client. Map the bundle's configuration keys to a disk definition in config/filesystems.php, and move credential handling to environment variables or IAM roles. The surface area is small enough that this is a days-not-weeks task, and you should delete the fork once call sites reach zero.
Does jplarar/s3-bundle support SigV4, IAM roles, or KMS encryption?
Those capabilities come from the underlying AWS SDK, not from the bundle, and this package depends on an SDK generation from the 2015-2019 era. Modern requirements such as Signature Version 4 by default, ECS or IAM credential chains, transfer acceleration, and server-side encryption with KMS are best served by aws/aws-sdk-php v3. Do not assume the pinned SDK generation handles them correctly on current PHP.
How do I configure S3 credentials in Laravel instead?
Add an s3 disk to config/filesystems.php using the s3 driver, and supply the key, secret, region, and bucket values through environment variables. In production, prefer IAM role or instance profile credentials so no long-lived keys live in your .env file. Then call Storage::disk('s3')->put(...) or generate temporary URLs with Storage::disk('s3')->temporaryUrl(...).
What are the best alternatives to jplarar/s3-bundle for S3 uploads in Laravel?
For most projects, league/flysystem-aws-s3-v3 with Laravel's Storage facade is the simplest and most idiomatic choice. Reach for aws/aws-sdk-php v3 directly when you need multipart uploads, bucket policy management, or fine-grained presigned URL control. Both are maintained, compatible with Laravel 9 through 11 on PHP 8.1+, and far safer than forking an abandoned Symfony2 bundle.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect