- 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.