azure-oss / storage-blob-flysystem
Flysystem adapter for Azure Storage PHP
Package info
github.com/Azure-OSS/azure-storage-blob-flysystem-php
pkg:composer/azure-oss/storage-blob-flysystem
2.2.0
2026-06-28 13:33 UTC
Requires
- php: ^8.2
- azure-oss/storage-blob: ^2.2
- league/flysystem: ^3.28
README
Community-driven PHP SDKs for Azure, because Microsoft won't.
In November 2023, Microsoft officially archived their Azure SDK for PHP and stopped maintaining PHP integrations for most Azure services. No migration path, no replacement — just a repository marked read-only.
We picked up where they left off.
Package ecosystem
- azure-oss/storage — Meta package for the Storage SDKs
- azure-oss/storage-common — Shared authentication, HTTP, and SAS primitives
- azure-oss/storage-blob — Blob Storage SDK
- azure-oss/storage-blob-flysystem — Flysystem adapter
- azure-oss/storage-blob-laravel — Laravel filesystem driver
- azure-oss/storage-blob-symfony — Symfony Flysystem bridge
- azure-oss/storage-queue — Queue Storage SDK
- azure-oss/storage-queue-laravel — Laravel queue connector
- azure-oss/storage-file-share — File Share SDK (under construction)
- azure-oss/identity — Microsoft Entra ID token authentication
Install
composer require azure-oss/storage-blob-flysystem
Documentation
You can read the documentation here.
Quickstart
<?php use AzureOss\Storage\Blob\BlobServiceClient; use AzureOss\Storage\BlobFlysystem\AzureBlobStorageAdapter; use League\Flysystem\Filesystem; $service = BlobServiceClient::fromConnectionString( getenv('AZURE_STORAGE_CONNECTION_STRING') ); $container = $service->getContainerClient( getenv('AZURE_STORAGE_CONTAINER') ); $adapter = new AzureBlobStorageAdapter($container); $filesystem = new Filesystem($adapter); // Write $filesystem->write('docs/hello.txt', 'Hello Azure Blob + Flysystem'); // Read $contents = $filesystem->read('docs/hello.txt'); // Stream upload $stream = fopen('/path/to/big-file.zip', 'r'); $filesystem->writeStream('archives/big-file.zip', $stream); fclose($stream); // List recursively foreach ($filesystem->listContents('docs', true) as $item) { echo $item->path().PHP_EOL; } // Delete $filesystem->delete('docs/hello.txt');
License
This project is released under the MIT License. See LICENSE for details.