В версии Laravel Media Library 9.11.4 сообщаются о известных проблемах, специально связанных с операциями S3. Одна важная проблема, которая появилась во время обновления этой версии, включала ошибки при удалении файлов из ведра S3. Пользователи заметили, что, используя Laravel Media Library 9.11.3, удаление файлов на S3 работало отлично, но после обновления до 9.11.4 удаление медиа -файлов от S3 начало привести к ошибкам. Общим сообщением об ошибке был плохой запрос AWS HTTP 400, который подчеркивал отсутствующий необходимый заголовок в запросе, в частности, «Content-MD5 или X-AMZ-Cecksum-*» отсутствовал в заголовках запроса на удаление.
Эта ошибка привела к проблеме, когда записи базы данных были удалены, но соответствующие файлы в ковше S3 не были удалены. Пользователи сообщили, что сталкиваются с несколькими ошибками этого типа, последовательно во время операций удаления. Ошибка произошла специально с запросами POST в конечную точку S3 Bucket's `/? Delete`. Запросы не удались из -за неполных или пропущенных заголовков, ожидаемых AWS S3 для операций удаления партий.
Расследование сообщества и сопровождающих показало, что эта аномалия не была напрямую вызвана изменениями в самой коде библиотеки Laravel, но была отслежена до ошибки в базовой AWS SDK для PHP (AWS/AWS-SDK-PHP). Проблемные версии AWS SDK, в частности, версия 3.209.31, введены проблемы заголовков в запросах объекта Delete для S3. Было рекомендовано проверить установленную версию AWS SDK с использованием композитора и обновить ее до версий 3.211.x или более позднего дня, чтобы решить проблему. После модернизации AWS SDK независимо, пользователи сообщили, что ошибки удаления прекратились.
В дополнение к этой ошибке, связанной с удалением, некоторые пользователи сообщили, что столкнулись с прерывистыми сбоями S3 API API после обновления до Laravel Media Library 9.11.4. Были ссылки на использование «forceDelete ()» во внутренних методах библиотеки, изменяющие обработку удалений, которые могли бы выявить или усилить ошибку, связанную с AWS SDK. Некоторые пользователи также упомянули осложнения, возникающие при использовании мягких удалений на своих моделях, которые могут замаскировать или повлиять на то, как были запускаются удаления S3.
Помимо проблем удаления, были сообщены другие проблемы, о которых сообщалось пользователи при объединении медиа -библиотеки Laravel с S3, хотя и не связанными с версией 9.11.4. Например, некоторые пользователи столкнулись с проблемами, связанными с функцией временной загрузки в Media Library Pro, когда он настроен на загрузку непосредственно на S3. Такие проблемы, как неожиданное исчезновение файлов от S3 после завершения загрузки, ошибок, открывающих временные локальные файлы и нюансы конфигурации, были общими темами. Эти проблемы часто связаны с тем, как временные файлы управлялись локально и синхронизированы с конфигурацией диска S3, а также сроком или последовательности операций сохранения на моделях, содержащих вложения носителя.
Другая категория зарегистрированных проблем связана с разрешениями и контролем доступа на ведрах S3. Например, если ведро S3 является частным, загрузки или удаление могут выйти из строя, если политики IAM или политики ведра не предоставляют достаточный доступ к заявлению Laravel, что приведет к ошибкам доступа. Иногда это можно путать с проблемами библиотеки или SDK, но действительно из -за модели разрешений AWS.
Некоторые пользователи также столкнулись с неожиданным поведением в преобразовании носителей (изменение размера изображений, изменения формата) при работе с дисками S3. Это было особенно подчеркнуто для преобразования обработки в очереди, когда конфигурация диска или рабочая среда может не иметь доступа или иметь тайм -ауты, что приводит к выходу из строя или не запускается должным образом. Несмотря на то, что эти проблемы являются более общими с широкомасштабным использованием медиа-библиотеки Laravel и рабочих мест в очереди, они пересекаются с использованием S3 в производстве.
Таким образом, основная подтвержденная известная проблема с интеграцией Media Laravel Media 9.11.4 и S3 подходит на ошибку удаления из -за исходящей ошибки PHP AWS SDK, запуская отсутствующие необходимые заголовки для удаления запросов, что приводит к удалению файлов на S3. Обновление AWS PHP SDK решило эту проблему. Наряду с этим пользователи должны обеспечить надлежащие разрешения на ковш S3 и быть осведомленными о краевых случаях с временными загрузками и преобразованиями в очереди при работе с S3, чтобы избежать других операционных проблем.
Ссылки от отчетов пользователей и сообщества показывают, что эти проблемы возникли в начале 2022 года и обсуждались в основном по вопросам GitHub, переполнению стека и форумах Laravel. Проблема не изолирована для медиа -библиотеки, но включает в себя взаимодействие методов библиотеки с поведением конкретной версии AWS SDK. Пользователям рекомендуется тщательно блокировать или обновлять зависимости и контролировать SDK -изменчивы для исправлений, связанных с операциями S3.
Проблемы, их причины и этапы восстановления, которые обнаружены в дискуссиях сообщества и официальных трекерах проблем, дают исчерпывающее понимание для разработчиков, сталкивающихся с аналогичными проблемами с Laravel Media Library 9.11.4 и интеграцией AWS S3. Основным выводом является обеспечение того, чтобы зависимости, такие как AWS SDK, являются актуальными и мониторингом для разрешения или конфликтов конфигурации, которые могут имитировать ошибки библиотеки.