承接 opsfour/s3-server 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

opsfour/s3-server

Composer 安装命令:

composer require opsfour/s3-server

包简介

Production-grade S3-compatible server as a PHP 8.4+ Composer package

README 文档

README

A production-grade, fully S3-compatible object storage server built as a PHP 8.4+ Composer package. Powered by Amp v3 for true async I/O with PHP Fibers.

Features

  • Full S3 API compatibility — 66 S3 operations including multipart uploads, versioning, object lock, lifecycle rules, S3 Select, restore, and website hosting
  • AWS SDK compatible — Works with any S3 client (AWS CLI, aws-sdk-php, boto3, MinIO client, etc.)
  • Multiple metadata backends — SQLite (single-node), PostgreSQL or MySQL (multi-node HA)
  • Multiple storage backends — Local filesystem, Flysystem (S3, GCS, Azure, SFTP), or in-memory
  • Server-side encryption — SSE-S3 with key rotation support, SSE-C (customer-provided keys), AES-256-GCM
  • Authentication — AWS Signature V4, presigned URLs, chunked streaming signatures
  • Multi-tenant — Owner ID scopes all operations; multiple credential providers (memory, database, file, chain)
  • Framework integrations — Standalone CLI, Laravel service provider, and Symfony Bundle
  • Quotas and tiering — Per-owner and per-bucket quotas, physical storage tiers, cold-tier restore workflow
  • Event notifications — Persistent queue with retry, exponential backoff, dead-letter, and SSRF protection
  • S3 Select — SQL queries over CSV, JSON, and Parquet objects
  • Lifecycle management — Expiration, noncurrent version cleanup, abort incomplete uploads
  • Rate limiting — Per-IP token bucket persisted to database, survives restarts
  • Production hardened — 500+ PHPUnit tests covering AWS SDK flows, large objects, concurrency, metadata backends, remote storage, and reliability profiles

Requirements

  • PHP 8.4+
  • Composer 2.x
  • ext-openssl (encryption)
  • ext-pdo_sqlite (default metadata) or ext-pdo_pgsql / ext-pdo_mysql
  • Symfony 7 or 8 when using the Symfony Bundle
  • Laravel 11+ when using the Laravel service provider

Quick Start

Standalone

composer require opsfour/s3-server

# Start with defaults (SQLite metadata, filesystem storage)
php vendor/bin/s3-server \
  --storage-path=/var/data/s3 \
  --access-key=myAccessKey \
  --secret-key=mySecretKey

Laravel

composer require opsfour/s3-server

php artisan vendor:publish --provider="OpsFour\S3Server\Laravel\S3ServerServiceProvider"

# Configure in .env
S3_STORAGE_PATH=/var/data/s3
S3_ACCESS_KEY=myAccessKey
S3_SECRET_KEY=mySecretKey

php artisan s3:serve

Symfony

composer require opsfour/s3-server

# Register OpsFour\S3Server\Symfony\S3ServerBundle in config/bundles.php
# Configure config/packages/opsfour_s3_server.yaml
php bin/console opsfour:s3:serve

Connect with AWS CLI

aws configure set aws_access_key_id myAccessKey
aws configure set aws_secret_access_key mySecretKey

aws --endpoint-url http://localhost:9000 s3 mb s3://my-bucket
aws --endpoint-url http://localhost:9000 s3 cp file.txt s3://my-bucket/
aws --endpoint-url http://localhost:9000 s3 ls s3://my-bucket/

Documentation

Full documentation is in the docs/ directory:

Guide Description
Quick Start Get running in 5 minutes
Installation Standalone, Laravel, and Symfony installation
Configuration All environment variables and options
Laravel Integration Service provider, Artisan commands, config
Symfony Integration Bundle registration, console commands, services, config
Authentication SigV4, presigned URLs, credential providers
Storage Backends Filesystem, Flysystem, in-memory
Metadata Backends SQLite, PostgreSQL, MySQL
Encryption SSE-S3 key rotation, SSE-C, configuration
API Operations All 66 supported S3 operations
Versioning & Object Lock Bucket versioning, retention, legal holds
Notifications Event notifications and webhook delivery
Lifecycle Rules Object expiration and cleanup
S3 Select SQL queries over stored objects
Policy Compatibility Supported IAM-style actions and condition keys
Production Feature Roadmap Implemented production features and deferred AWS scope
Release Checklist Production readiness checks before tagging
Production Deployment TLS, scaling, monitoring, backups
Architecture Internals, middleware stack, design decisions
Development Running tests, contributing, extending

Project & Support

opsfour S3 Server is a twopeaks.digital project. Related ops4 information is available at ops4.com.

This package and repository are provided as is, without warranty of any kind. No guarantee is made for fitness for a particular purpose, uninterrupted operation, data integrity, security, compatibility, or continued maintenance. To the maximum extent permitted by law, no liability is accepted for damages, data loss, business interruption, or other consequences arising from use of this software. By using this repository or package, you acknowledge and agree to this disclaimer and limitation of liability.

Paid support, integration work, production hardening, and custom development are available on request.

License

MIT

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-15

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固