Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Existem problemas conhecidos na Laravel Media Library e S3 na versão 9.11.4


Existem problemas conhecidos na Laravel Media Library e S3 na versão 9.11.4


Existem problemas conhecidos relatados com a Laravel Media Library versão 9.11.4 relacionada especificamente às operações S3. Uma questão significativa que surgiu durante esta atualização da versão envolveu erros ao excluir arquivos de um balde S3. Os usuários observaram que, ao usar o Laravel Media Library 9.11.3, as deleções de arquivo no S3 funcionaram perfeitamente, mas depois de atualizar para 9.11.4, a exclusão de arquivos de mídia do S3 começou resultando em erros. A mensagem de erro comum era uma solicitação ruim do AWS HTTP 400, destacando um cabeçalho necessário na solicitação especificamente ", estava faltando o conteúdo-md5 ou x-amz-checksum-*" nos cabeçalhos da solicitação de exclusão.

Esse erro levou ao problema em que os registros do banco de dados da mídia foram excluídos, mas os arquivos correspondentes no balde S3 não foram removidos. Os usuários relataram encontrar vários erros desse tipo de forma consistente durante as operações de exclusão. O erro ocorreu especificamente com solicitações de postagem para o endpoint `/? Delete` do S3 Bucket. As solicitações falharam devido a cabeçalhos incompletos ou ausentes esperados pelo AWS S3 para operações de exclusão de lote.

A investigação da comunidade e dos mantenedores revelou que essa anomalia não foi causada diretamente por mudanças no código da biblioteca de mídia do Laravel, mas foi rastreado até um bug no AWS SDK subjacente para PHP (AWS/AWS-SDK-PHP). As versões problemáticas do AWS SDK, principalmente a versão 3.209.31, introduziram problemas de cabeçalho em Excluir solicitações de objeto para S3. Foi recomendável verificar a versão SDK da AWS instalada usando o Composer e atualizá -lo para as versões 3.211.x ou posterior para corrigir o problema. Depois de atualizar o AWS SDK de forma independente, os usuários relataram que os erros de exclusão deixaram de ocorrer.

Além deste bug relacionado à exclusão, alguns usuários relataram encontrar falhas intermitentes de chamadas da API S3 após a atualização para a Laravel Media Library 9.11.4. Havia árbitros para o uso de "forcelete ()" nos métodos internos da biblioteca, alterando como as deleções foram processadas, o que poderia ter exposto ou amplificado o bug relacionado ao SDK da AWS. Alguns usuários também mencionaram complicações surgindo ao usar exclusão suave em seus modelos, que podem mascarar ou afetar a maneira como as deleções S3 foram acionadas.

Além de excluir problemas, houve outros desafios relatados pelos usuários ao combinar a Laravel Media Library com S3, embora não estivesse especificamente ligada à versão 9.11.4. Por exemplo, alguns usuários enfrentaram problemas relacionados ao recurso de uploads temporários no Media Library Pro quando configurados para fazer o upload diretamente para o S3. Questões como desaparecimento inesperado de arquivo do S3 após finalizar uploads, erros abrindo arquivos locais temporários e nuances de configuração eram tópicos comuns. Esses problemas geralmente surgiram de como os arquivos temporários foram gerenciados localmente e sincronizados com a configuração do disco S3 e o tempo ou sequência de operações de salvamento em modelos que mantêm anexos de mídia.

Outra categoria de problemas relatados refere -se a permissões e controles de acesso nos baldes S3. Por exemplo, se o balde S3 for privado, uploads ou exclusões poderão falhar se as políticas do IAM ou as políticas de bucket não concederem acesso suficiente ao aplicativo Laravel, resultando em erros acessados. Às vezes, isso pode ser confundido com problemas de biblioteca ou SDK, mas é realmente devido ao modelo de permissão da AWS.

Alguns usuários também encontraram comportamento inesperado em conversões de mídia (redimensionamento da imagem, alterações de formato) ao trabalhar com discos S3. Isso foi particularmente destacado para conversões de processamento na fila, onde a configuração do disco ou o ambiente do trabalhador pode não ter acesso ou tinham tempo limite, fazendo com que as conversões falhem ou não o acionamento corretamente. Embora essas questões sejam mais gerais com o uso em larga escala da Laravel Media Library e da fila de empregos, eles se cruzam com o uso do S3 na produção.

Em resumo, o principal problema conhecido confirmou com a biblioteca de mídia Laravel 9.11.4 e a integração S3 depende de um bug de exclusão devido a um bug do php do AWS SDK da AWS a montante, acionando os cabeçalhos necessários para excluir solicitações, causando exclusões de arquivo com falha no S3. A atualização do AWS PHP SDK resolveu esse problema. Além disso, os usuários devem garantir permissões adequadas de balde S3 e estar cientes de casos de borda com uploads temporários e conversões de mídia na fila ao trabalhar com S3 para evitar outros problemas operacionais.

As referências de relatórios de usuários e comunidades indicam que esses problemas surgiram no início de 2022 e foram discutidos principalmente sobre questões do GitHub, transbordamento de pilha e fóruns de Laravel. O problema não está isolado na biblioteca de mídia, mas envolve a interação dos métodos da biblioteca com os comportamentos específicos da versão do AWS SDK. Os usuários são recomendados para bloquear ou atualizar as dependências cuidadosamente e monitorar o Changelogs SDK para correções relacionadas às operações S3.

As questões, suas causas e etapas de remediação encontradas nas discussões da comunidade e nos rastreadores de questões oficiais fornecem um entendimento abrangente para os desenvolvedores que enfrentam desafios semelhantes com a integração de Laravel Media Library 9.11.4 e AWS S3. O principal argumento é garantir que dependências como o AWS SDK sejam atuais e monitorando conflitos de permissão ou configuração que possam imitar os bugs da biblioteca.