- Does league/flysystem-dropbox work with Laravel 9 or Laravel 10?
- No. The adapter implements Flysystem 1.x's League\Flysystem\AdapterInterface, a contract that was removed in Flysystem 2.0 and has no equivalent in Flysystem 3.x, which is what Laravel 9 and later ship. Composer will also refuse to resolve it alongside league/flysystem ^2 or ^3. Use spatie/flysystem-dropbox for Laravel 9+ instead.
- How do I install league/flysystem-dropbox?
- You would run composer require league/flysystem-dropbox, but realistically it only fits Laravel 5.x-era applications. Even there the release targets Dropbox API v1, which Dropbox retired in 2017, so the transport layer no longer works. Do not add it to new or upgraded projects.
- Why does Composer conflict when I require league/flysystem-dropbox?
- The package pins the Flysystem 1.x AdapterInterface and old Guzzle constraints, so it collides with league/flysystem ^2 or ^3, modern Guzzle, and PHP 8.x requirements. These are hard version constraints, not warnings you can ignore with --ignore-platform-reqs safely. The conflict is a signal that the package predates the current stack.
- Is league/flysystem-dropbox maintained or abandoned?
- It is abandoned and archived upstream, with the last release in June 2015. There is no security response channel, no PHP 8 compatibility, and no typed signatures. The package's own deprecation notice points to spatie/flysystem-dropbox as the maintained replacement.
- What is the best alternative to league/flysystem-dropbox for Laravel?
- spatie/flysystem-dropbox is the sanctioned replacement: it is maintained, targets Flysystem 3, and speaks Dropbox API v2. Wire it through a Laravel filesystem disk so application code keeps using the Storage facade. If Dropbox is only an inherited default rather than a product requirement, S3 or GCS object storage is often the cheaper long-term answer.
- Does league/flysystem-dropbox support Dropbox API v2?
- Despite API v2 being mentioned in its overview, the shipped 2015 release targets Dropbox API v1, which Dropbox retired in 2017. Any real file operation will fail at the transport layer regardless of the PHP-side interface. Use spatie/flysystem-dropbox if you need current Dropbox API support.
- How do I configure a Dropbox disk in Laravel's config/filesystems.php?
- Add a disk entry under the disks key with the dropbox driver, your app key, secret, and access or refresh token, then select it via the FILESYSTEM_DISK environment variable. With this abandoned package the disk will not resolve under Flysystem 3, so configure the disk against spatie/flysystem-dropbox instead. Treat the credentials as a workstream: stand up a current Dropbox app with scoped access and refresh tokens, since legacy API v1 keys may not be recoverable.
- How do I migrate from league/flysystem-dropbox to spatie/flysystem-dropbox?
- Audit composer.lock, config/filesystems.php, and DI bindings for the abandoned package and any direct AdapterInterface usage. Make sure call sites go through Laravel's Storage facade or FilesystemManager rather than instantiating the adapter directly; introducing that seam is the only non-trivial code work. Then create a current Dropbox app with scoped access and refresh tokens, swap the dependency, and run contract tests on read, write, list, delete, shared-link, and error paths, including token refresh and rate-limit behaviour. Cut over per environment, remove the old package, and pin the replacement.
- Does league/flysystem-dropbox work with PHP 8?
- No. The package has no PHP 8 compatibility and no typed signatures, and Composer will generally block resolution on PHP 8.x projects. Pinning it also risks becoming a platform-upgrade blocker that prevents Laravel and PHP upgrades across every service that still resolves it. The failure is often silent, surfacing as user-facing storage write errors rather than a loud build-time break.
- How do I test a Dropbox filesystem disk in Laravel?
- For unit tests, use Storage::fake on the disk name so no network calls are made. For integration coverage, point a scoped test Dropbox app at the disk and run contract tests across read, write, list, delete, shared-link, and error paths, including token refresh and rate-limit handling. Validate the PHP, Flysystem, Laravel, and Dropbox SDK version matrix on a branch before committing to a cutover date.