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

Aliyun Oss Php Sdk Laravel Laravel Package

aliyuncs/aliyun-oss-php-sdk-laravel

A Laravel wrapper for the Aliyun OSS PHP SDK that adds a service provider, facade, and config for using Alibaba Cloud Object Storage Service as a Laravel filesystem. Upload, store, and manage files on OSS through familiar Laravel APIs.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. The package is a thin Laravel service provider that binds the AliCloud OSS PHP SDK client into the service container and publishes a config file. That matches Laravel's older integration idiom (provider + config + facade/alias), but it does not implement a Laravel Storage/Flysystem driver. Teams get the raw OSSClient, not Storage::disk('oss'). So it fits only if the application deliberately wants direct SDK access; it is not a Laravel-native filesystem abstraction.

Integration feasibility. Feasible but constrained. Last release 2017-08-03, which places it in the Laravel 5.4/5.5, PHP 5.6/7.0 era. Composer constraints almost certainly pin illuminate/support to 5.x and an old aliyuncs/oss-sdk-php/Guzzle major. Installing on Laravel 9/10/11 would likely require --ignore-platform-reqs, a fork, or both. Basic flows (put/get/delete, signed URL) are straightforward to prove in a timeboxed spike; the risk is dependency resolution and PHP 8 compatibility, not the API surface.

Technical risk. High. Abandoned upstream, 75 stars, zero dependents, no releases in seven-plus years, no security patching, and no PHP 8.x guarantees. The underlying OSS SDK has moved on (signature V4, STS, new regions, transfer acceleration, request payer, encryption options); the wrapper likely does not expose newer features. The low package score reflects abandonment risk, not OSS service quality—keep those judgments separate.

Key questions.

  • Which Laravel and PHP versions must we support now, and in 12 months?
  • Do we need Laravel Storage semantics, or raw OSSClient access?
  • Which OSS capabilities are in scope: multipart, presigned URLs, STS, SSE, cross-region replication, VPC endpoints?
  • Are China-region/data-residency or compliance requirements in play?
  • Can we accept no upstream maintainer, and who owns a fork if we adopt it?
  • Is a maintained Flysystem OSS adapter acceptable instead?

Integration Approach

Stack fit. Direct fit only for legacy Laravel 5.x/PHP 7.0 estates. For Laravel 8+, the better stack fit is the official aliyuncs/oss-sdk-php plus a maintained Flysystem adapter registered as a custom disk via Storage::extend. That keeps the Laravel-native Storage contract and isolates OSS specifics behind a driver. Treat the wrapper as a reference for config shape, not as the integration layer.

Migration path. If already using the package, introduce an internal ObjectStorage interface and adapt current call sites to it. Then replace the wrapper with a Flysystem-backed driver or direct SDK adapter that implements the same interface. Map operations explicitly: OSSClient::putObject → Storage::disk('oss')->put, signUrl → temporaryUrl, doesObjectExist → exists. Preserve bucket/key conventions, path prefixes, ACL defaults, and signed-URL TTL semantics. Move credentials from published config into environment variables or a secrets manager.

Compatibility. Validate Composer resolution against the target framework before committing. Expect Guzzle major conflicts (old SDK vs. Laravel 9+), PHP 8.1/8.2 deprecations in the old SDK (dynamic properties, curly-brace offsets), and PSR/Illuminate version mismatches. If constraints cannot resolve, the choice is fork-and-own or do not adopt.

Sequencing.

  1. Timeboxed spike: install on target Laravel, prove credentials, put/get/delete, and a signed URL.
  2. Decide build vs. fork vs. replace with official SDK + Flysystem adapter.
  3. Implement the internal storage interface and parity tests against the existing backend.
  4. Dual-run in a non-production environment; verify key mapping, ACLs, and URL expiry.
  5. Cut over per environment; keep the old path behind a feature flag for one release.
  6. Decommission the wrapper and remove the abandoned dependency.

Operational Impact

Maintenance. Effectively unmaintained. Adopting it means either vendoring/forking or accepting stale dependencies. The code volume is small, so a fork is cheap—but you inherit ownership, patch cadence, and the obligation to track upstream oss-sdk-php releases. Assign a named owner and a review trigger for every Laravel/PHP upgrade.

Support. Community-only, no SLA. Alibaba Cloud support covers the OSS service, not this wrapper. Escalation must be split: OSS service issues go to Alibaba; wrapper/SDK issues go to the internal owner. Document that split before launch.

Scaling. The wrapper is thin, so scale is governed by the OSS SDK and service. Watch Guzzle connection pooling, retry/timeout settings, multipart thresholds and part sizes for large objects, and CPU cost of signing URLs at high volume. Prefer presigned direct-to-OSS uploads from clients to avoid proxying large streams through PHP-FPM; that is the main scaling lever.

Failure modes.

  • Credential/region misconfiguration; endpoint mismatch (public vs. VPC/internal).
  • Signature errors after SDK or region changes.
  • Silent fallback to local disk when the OSS disk is not configured.
  • Dependency conflict that blocks framework upgrades—a slow-burn failure with no error until upgrade day.
  • Timeout/retry storms and memory exhaustion on large uploads.
  • Bucket ACL/permission drift; STS token expiry mid-operation.
  • Stale SDK behavior against newer OSS API semantics.

Ramp-up. Low for Laravel developers (provider, config, container binding), but the team still needs OSS-specific fluency: buckets, endpoints, ACLs, multipart, signed URLs, and region/data-residency rules. Estimate 1–2 days for a Laravel-fluent developer to be productive with the wrapper; roughly one sprint to deliver the internal adapter, parity tests, and cutover plan. The real cost is not learning the wrapper—it is owning the abandoned dependency or replacing it.

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