Я использую spatie
laravel-medialibrary
для обработки медиаресурсов в приложении Laravel 5.2.Из-за большого количества изображений почти достигнут максимальный предел количества файлов (количество узлов) общего хостинга.Будет больше изображений, поэтому я ищу долгосрочное решение для обработки большого количества активов.
Исследовано несколько возможных решений, и я пришел к выводу, что добавление дополнительного s3
совместимогохранилище - если быть точным: Пространства DigialOcean - кажется лучшим выбором с точки зрения цены и возможностей.
В настоящее время приложение имеет конфигурацию по умолчанию, media
указывает на локальное хранилище:
'media' => [
'driver' => 'local',
'root' => public_path('media'),
'visibility' => 'public',
],
Сценарий, которого я хотел бы достичь, - хранить все медиаресурсы только во вновь настроенном хранилище DO Spaces.Это также означает необходимость переноса доступных ресурсов в новое хранилище.
laravel-medialibrary
поддерживает несколько файловых систем
/*
* The filesystems on which to store added files and derived images by default. Choose
* one or more of the filesystems you configured in app/config/filesystems.php
*/
'defaultFilesystem' => 'media',
(config / laravel-medialibrary.php)
Я не тестировал, но, думаю, если бы я добавил недавно сконфигурированный диск хранения 'dospaces', например так:
'defaultFilesystem' => ['dospaces', 'media'],
... недавно загруженные изображения будут сохранены вdospaces
диск, но старый останется на локальном media
, поэтому мне все равно придется написать скрипт миграции, которого я бы хотел избежать.