Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Чи є якісь відомі проблеми з бібліотекою Laravel Media та S3 у версії 9.11.4


Чи є якісь відомі проблеми з бібліотекою Laravel Media та S3 у версії 9.11.4


Існують відомі проблеми, повідомлені з медіа -бібліотекою Laravel Media версії 9.11.4, спеціально пов'язані з операціями S3. Одне важливе питання, яке з'явилося під час оновлення цієї версії, передбачало помилки під час видалення файлів із відра S3. Користувачі зауважили, що, використовуючи медіа -бібліотеку Laravel 9.11.3, видалення файлів на S3 працювало ідеально, але після оновлення до 9.11.4 видалення медіа -файлів із S3 розпочалося в результаті помилок. Поширеним повідомленням про помилку був поганий запит AWS HTTP 400, підкреслюючи відсутній необхідний заголовок у запиті "Зокрема," Content-MD5 або X-AMZ-Checksum-*"відсутній у заголовках запиту на видалення.

Ця помилка призвела до проблеми, коли записи бази даних медіа були видалені, але відповідні файли у відрі S3 не були видалені. Користувачі повідомили, що постійно зустрічаються з декількома помилками такого типу під час операцій видалення. Помилка сталася спеціально з запитами допису до кінцевої точки `/? Delete`. Запити не вдалося через неповні або відсутні заголовки, які очікують AWS S3 для операцій з видалення пакетів.

Розслідування громади та підтримуваних служб показало, що ця аномалія не була безпосередньо спричинена змінами в самому коді бібліотеки медіа Laravel, але була простежена до помилки в основному SDK AWS для PHP (AWS/AWS-SDK-PHP). Проблемні версії AWS SDK, зокрема версія 3.209.31, представила проблеми заголовка у видаленні запитів об'єктів для S3. Постанено перевірити встановлену версію AWS SDK за допомогою композитора та оновити її до версій 3.211.x або пізніше, щоб вирішити проблему. Після оновлення AWS SDK незалежно, користувачі повідомили, що помилки видалення перестали відбуватися.

На додаток до цієї помилки, пов'язаної з видаленням, деякі користувачі повідомили, що зустрічаються з переривчастими збоями API S3 API після оновлення до медіа-бібліотеки Laravel 9.11.4. У внутрішніх методах бібліотеки було рефестом на використання "compcedelete ()" у внутрішніх методах бібліотеки, що змінювалося, як було оброблено видалення, що могло б викрити або посилити помилку, пов'язану з AWS SDK. Деякі користувачі також згадували про ускладнення, що виникають при використанні м'яких видаленів на своїх моделях, які могли б маскувати або вплинути на те, як було спрацьовано видалення S3.

Окрім проблем з видаленням, були інші проблеми, про які повідомляли користувачі, поєднуючи медіа -бібліотеку Laravel з S3, хоча і не спеціально пов'язані з версією 9.11.4. Наприклад, деякі користувачі стикаються з проблемами, пов’язаними з функцією тимчасового завантаження в медіа -бібліотеці Pro, коли налаштовані для завантаження безпосередньо в S3. Такі проблеми, як несподіване зникнення з S3 після завершення завантаження, помилки, що відкривають тимчасові локальні файли та нюанси конфігурації, були загальними темами. Ці проблеми часто випливали з того, як тимчасові файли керували локально та синхронізувалися з конфігурацією диска S3 та термінами або послідовністю операцій збереження моделей, що тримають вкладення медіа.

Інша категорія повідомлених проблем стосується дозволів та контролю доступу на відрах S3. Наприклад, якщо відро S3 є приватним, завантаження або видалення можуть вийти з ладу, якщо політика IAM або політики відра не надає достатнього доступу до програми Laravel, що призводить до доступованих помилок. Іноді це можна плутати з проблемами бібліотеки або SDK, але насправді пов'язано з моделлю дозволу AWS.

Деякі користувачі також стикалися з несподіваною поведінкою в перетворенні медіа (зміна розміру зображення, зміни формату) під час роботи з дисками S3. Це було особливо виділено для конверсій обробки в черзі, де конфігурація диска або середовища працівника може не мати доступу або мала тайм -аути, що спричиняє конверсії, що не спрацьовують або не спрацьовують належним чином. Хоча ці питання є більш загальними з масштабним використанням медіа-бібліотеки Laravel та робочими місцями в черзі, вони перетинаються з використанням S3 у виробництві.

Підводячи підсумок, первинна підтверджена відома проблема з медіа -бібліотекою Laravel 9.11.4 та S3 Інтеграційні залучення на помилку видалення через помилку AWS SDK SDK SDK, що викликає відсутні необхідні заголовки для видалення запитів, викликаючи невдалі видалення файлів на S3. Оновлення AWS PHP SDK вирішило це питання. Поряд з цим, користувачі повинні забезпечити належні дозволи на відро S3 та бути обізнаними про краю випадків із тимчасовими завантаженнями та конверсіями медіа в черзі під час роботи з S3, щоб уникнути інших оперативних проблем.

Посилання з звітів користувачів та спільноти свідчать про те, що ці питання виникали приблизно на початку 2022 року і обговорювались насамперед з питань Github, переповнення стека та форумів Laravel. Проблема не є ізольованою для медіа -бібліотеки, але передбачає взаємодію методів бібліотеки з поведінкою версій AWS SDK. Користувачам рекомендується ретельно блокувати або оновлювати залежності та контролювати SDK Changelogs на виправлення, пов'язані з операціями S3.

Проблеми, їх причини та кроки відновлення, як виявлені в дискусіях громади, та офіційні трекери випуску дають всебічне розуміння розробникам, які стикаються з подібними проблемами з бібліотекою Laravel Media 9.11.4 та інтеграцією AWS S3. Основним виїздом є забезпечення залежностей, як SDK AWS, є поточними, а моніторинг конфліктів дозволу або конфігурації, які можуть імітувати помилки бібліотеки.