Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Există probleme cunoscute cu Laravel Media Library și S3 în versiunea 9.11.4


Există probleme cunoscute cu Laravel Media Library și S3 în versiunea 9.11.4


Există probleme cunoscute raportate cu Laravel Media Library versiunea 9.11.4 în mod specific legată de operațiunile S3. O problemă semnificativă care a apărut în timpul acestei versiuni, actualizarea a implicat erori la ștergerea fișierelor dintr -o găleată S3. Utilizatorii au observat că, în timp ce utilizează Laravel Media Library 9.11.3, ștergerile de fișiere pe S3 au funcționat perfect, dar după ce am trecut la 9.11.4, ștergerea fișierelor media din S3 a început să rezulte în erori. Mesajul de eroare obișnuit a fost o solicitare proastă AWS HTTP 400, subliniind un antet necesară care lipsește în solicitare-în mod specific, „Content-MD5 sau X-AMZ-Checksum-*” lipsea în anteturile cererii de ștergere.

Această eroare a dus la problema în care au fost șterse înregistrările bazei de date ale media, dar fișierele corespunzătoare din găleata S3 nu au fost eliminate. Utilizatorii au raportat că au întâlnit mai multe erori de acest tip în mod constant în timpul operațiunilor de ștergere. Eroarea a apărut în mod specific cu solicitările POST la punctul final `/? Delete` al găleții S3. Cererile au eșuat din cauza anteturilor incomplete sau lipsă așteptate de AWS S3 pentru operațiunile de ștergere a lotului.

Cercetările de către comunitate și întreținători au relevat faptul că această anomalie nu a fost cauzată în mod direct de modificările codului bibliotecii media Laravel în sine, ci a fost urmărită într-o eroare în SDK-ul AWS de bază pentru PHP (AWS/AWS-SDK-PHP). Versiunile problematice ale AWS SDK, în special versiunea 3.209.31, au introdus probleme de antet în ștergerea cererilor de obiect pentru S3. S -a recomandat să verificați versiunea AWS SDK instalată folosind compozitorul și să o actualizați la versiunile 3.211.x sau mai târziu pentru a remedia problema. După actualizarea în mod independent a AWS SDK, utilizatorii au raportat că erorile de ștergere au încetat să mai produc.

În plus față de această eroare legată de ștergere, unii utilizatori au raportat că au întâlnit eșecuri de apel API intermitente S3 după ce au trecut la Laravel Media Library 9.11.4. Au existat arbitri pentru utilizarea „ForceDelete ()” în metodele interne ale bibliotecii care schimbă modul în care au fost procesate ștergerile, care ar fi putut expune sau amplifica bug-ul legat de SDK AWS. Unii utilizatori au menționat, de asemenea, complicații care apar atunci când utilizează ștergeri soft pe modelele lor, care ar putea masca sau afecta modul în care au fost declanșate ștergerile S3.

În afară de problemele de ștergere, au existat alte provocări raportate de utilizatori atunci când se combină Laravel Media Library cu S3, deși nu sunt legate în mod specific de versiunea 9.11.4. De exemplu, unii utilizatori s -au confruntat cu probleme legate de funcția de încărcare temporară din Media Library Pro atunci când sunt configurați să se încarce direct la S3. Probleme precum dispariția neașteptată a fișierului de la S3 după finalizarea încărcărilor, erorile care deschid fișiere locale temporare și nuanțele de configurare au fost subiecte comune. Aceste probleme au provenit adesea din modul în care fișierele temporare au fost gestionate la nivel local și sincronizate cu configurația discului S3 și cu sincronizarea sau secvența operațiunilor de salvare pe modelele care dețin atașamente media.

O altă categorie de probleme raportate se referă la permisiuni și controale de acces pe gălețile S3. De exemplu, dacă găleata S3 este privată, încărcările sau ștergerile pot eșua dacă politicile IAM sau politicile de găleată nu acordă acces suficient la aplicația Laravel, ceea ce duce la erori accesate. Acest lucru poate fi uneori confundat cu problemele de bibliotecă sau SDK, dar se datorează cu adevărat modelului de permisiune AWS.

Unii utilizatori au întâlnit, de asemenea, un comportament neașteptat în conversii media (redimensionarea imaginii, modificări de format) atunci când lucrează cu discuri S3. Acest lucru a fost evidențiat în special pentru conversiile de procesare în coadă, în care configurația discului sau mediul lucrătorilor ar putea să nu aibă acces sau au avut timp de timp care determină conversii să eșueze sau să nu declanșeze corect. În timp ce aceste probleme sunt mai generale cu utilizarea pe scară largă a Laravel Media Library și a locurilor de muncă în coadă, acestea se intersectează cu utilizarea S3 în producție.

În rezumat, problema principală confirmată cu Laravel Media Library 9.11.4 și S3 Integration se bazează pe o eroare de ștergere din cauza unei erori AWS SDK PHP din amonte, declanșând anteturile necesare pentru a șterge cererile, provocând ștergeri de fișiere eșuate pe S3. Modernizarea AWS PHP SDK a rezolvat această problemă. Alături de aceasta, utilizatorii ar trebui să asigure permisiunile corespunzătoare ale găleții S3 și să fie conștienți de cazurile de margine cu încărcări temporare și conversii media în coadă atunci când lucrează cu S3 pentru a evita alte probleme operaționale.

Referințele din rapoartele utilizatorilor și comunității indică faptul că aceste probleme au apărut la începutul anului 2022 și au fost discutate în principal pe problemele GitHub, Stack Overflow și Laravel Forums. Problema nu este izolată la Media Library, ci implică interacțiunea metodelor bibliotecii cu comportamentele specifice ale versiunii AWS SDK. Utilizatorilor li se recomandă să blocheze sau să actualizeze dependențele cu atenție și să monitorizeze schimbările SDK pentru corecții legate de operațiunile S3.

Problemele, cauzele și etapele lor de remediere, astfel cum se regăsesc în discuțiile comunitare și urmărirea oficială a problemelor oferă o înțelegere cuprinzătoare pentru dezvoltatorii care se confruntă cu provocări similare cu Laravel Media Library 9.11.4 și AWS S3 Integration. Principala preluare este asigurarea dependențelor precum AWS SDK sunt actuale și monitorizează conflictele de autorizare sau de configurare care ar putea imita erorile de bibliotecă.