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
Ali Oss Storage

Ali Oss Storage Laravel Package

jacobcyl/ali-oss-storage

Alibaba Cloud OSS adapter for Laravel's Flysystem storage, letting you use Aliyun OSS buckets like local disks via the Storage facade. Supports uploads, presigned URLs, and standard file operations, giving Laravel apps a drop-in cloud filesystem backed by Alibaba Cloud Object Storage Service.

View on GitHub
Deep Wiki
Context7

jacobcyl/ali-oss-storage is a Laravel filesystem adapter that integrates Alibaba Cloud OSS (Object Storage Service) directly into Laravel's Storage API. Install it via Composer and configure your OSS credentials in config/filesystems.php to upload, retrieve, and manage files on Alibaba Cloud as seamlessly as local storage.

  • Supports Laravel's full Flysystem filesystem interface
  • Easy setup with standard OSS AccessKey configuration
  • Handles file uploads, downloads, deletion, and URL generation
  • Compatible with Laravel/Lumen projects and custom OSS endpoints
Frequently asked questions about Ali Oss Storage
How do I install jacobcyl/ali-oss-storage in Laravel?
Run composer require jacobcyl/ali-oss-storage. On Laravel 5.5+ the service provider is auto-discovered; on older versions you register it manually. Then add an oss disk to config/filesystems.php with your OSS credentials. Validate with composer require in a scratch branch on your target Laravel version before committing.
Which Laravel and PHP versions does jacobcyl/ali-oss-storage support?
It was built for the Flysystem v1 era and works cleanly on Laravel 5.5–5.8. Laravel 6 and 8 can work only while they use Flysystem 1.x. Laravel 9+ ships Flysystem v3 with a different adapter contract, so the driver will not bind without a port. Treat PHP 8.1/8.2 support as unverified because the last release is from 2018.
How do I configure an Aliyun OSS disk in config/filesystems.php?
Add a disk with driver set to oss and include access_id, access_secret, endpoint, bucket, and the CNAME flag where applicable. Use the same disk name, such as oss, across environments so call sites stay swappable. Keep secrets out of source control by loading them from env variables. Double-check whether your endpoint requires path-style or CNAME behavior.
Does this package work with Laravel 9, 10, or 11?
No, not out of the box. Laravel 9 and later use Flysystem v3, while this adapter targets Flysystem v1 semantics and the older Aliyun OSS SDK. You would need to fork and port the adapter, or adopt a Flysystem v3-native package. Verify with an actual composer require against your target framework rather than assuming.
How do I generate signed or temporary URLs for private OSS buckets?
The adapter exposes temporaryUrl through the Storage facade, but expiry behavior and endpoint handling are historical weak points, so test it explicitly. Private buckets with short-lived signed URLs should be part of your conformance suite. The package has no first-class STS or temporary-credential support, so long-lived keys in config remain the default. For stricter security, consider a maintained adapter or a custom signed-URL path.
What are the best alternatives to jacobcyl/ali-oss-storage?
iidestiny/laravel-filesystem-oss and alphasnow/aliyun-oss-laravel are the default comparison points. Both are Flysystem v3-native and better suited to Laravel 9+. They expose the same Storage::disk() contract, so migration is mostly config and adapter parity. Compare on temporaryUrl, multipart uploads, and directory semantics before choosing.
Is jacobcyl/ali-oss-storage still maintained?
No. The last release was in April 2018, there is a single maintainer, and there is no PHP 8.1/8.2 CI or security response path. The low dependents count reflects abandonment rather than necessarily bad code. For production, plan for a fork or a maintained alternative.
Can I use a custom OSS endpoint or CNAME with this adapter?
Yes, configuration includes endpoint and a CNAME flag. Path-style versus CNAME endpoint behavior is a common misconfiguration, so test uploads and signed URLs against your actual bucket. Also confirm that your endpoint matches the region and that the bucket is not being addressed in the wrong style. Surface Guzzle and SDK conflicts early.
How should I test OSS storage in a Laravel app?
Use a throwaway OSS bucket for integration tests and verify putFileAs, exists, delete, deleteDirectory, and temporaryUrl explicitly. Laravel's Storage::fake is useful for local disks but may not reproduce custom adapter semantics. Add a conformance suite so you can swap adapters without changing call sites. Mocking the SDK is fine for unit tests but not a substitute for bucket-level integration checks.
What are the production risks of using jacobcyl/ali-oss-storage?
The main risk is maintenance: dormant since 2018, older transitive dependencies, and no security patch path. OSS-specific risks include credentials in filesystems.php, no STS support, endpoint misconfiguration, and flat-object-store semantics for deleteDirectory and temporaryUrl. Large files proxied through PHP are a scaling trap regardless of driver. Pin PHP and Laravel versions and run a parity test suite before go-live.
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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib