microsoft/azure-storage-common
Deprecated common PHP library shared by Azure Storage Blob, Table, Queue and File SDKs. Used mainly for releases; development and issues are in azure-storage-php. Azure Storage PHP client libraries retire 17 March 2024—see retirement notice for alternatives.
This package is deprecated and retired as of March 17, 2024—do not use it for new work. If you're encountering it in an existing Laravel project, first audit your dependencies:
composer why microsoft/azure-storage-common
It is a transitive dependency of legacy Azure Storage SDKs (microsoft/azure-storage-blob, table, etc.), not a standalone API. You’ll interact with it only through clients like BlobRestProxy::createBlobService(). Your immediate priority should be migrating to the actively supported azure/storage-blob package, per Microsoft’s official retirement guide.
// Legacy SAS generation (avoid in new code)
use MicrosoftAzure\Storage\Blob\BlobSharedAccessSignatureHelper;
$sasToken = BlobSharedAccessSignatureHelper::generateBlobServiceSharedAccessSignatureToken(
$accountName, $accountKey, ContainerAccessPolicy::CREATE, new \DateTime('+1h')
);
// Legacy client with retry middleware (common pattern)
use MicrosoftAzure\Storage\Common\Middlewares\CommonMiddleWare;
$client = BlobRestProxy::createBlobService($connectionString, [
'middlewares' => [new CommonMiddleWare('2019-02-02')]
]);
CommonMiddleWare’s constructor (e.g., new CommonMiddleWare('2019-02-02', $retryOptions)), but note this is incompatible with Laravel’s PSR-18/HTTPlug ecosystems.Utilities::generateGuid() or EdmType::fromValue() exist, but modern alternatives (ramsey/uuid, native PHP types) are safer and better-maintained.BlobSasBuilder before deadline.composer check-platform-reqs to detect conflicts.DateTime/DateTimeImmutable (v1.5.0+), but many internal helpers use string formats—always prefer DateTimeImmutable to avoid mutation side effects.x-ms-version (set via CommonMiddleWare)CommonMiddleWare is mutable and not PSR-15 compliant—replacing it with modern middleware (e.g., Laravel’s HTTP client interceptors) will be far easier than patching legacy logic.How can I help you explore Laravel packages today?