Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon มีปัญหาใด ๆ ที่รู้จักกับ Laravel Media Library และ S3 ในเวอร์ชัน 9.11.4


มีปัญหาใด ๆ ที่รู้จักกับ Laravel Media Library และ S3 ในเวอร์ชัน 9.11.4


มีการรายงานปัญหาเกี่ยวกับ Laravel Media Library เวอร์ชัน 9.11.4 ที่เกี่ยวข้องกับการดำเนินงาน S3 โดยเฉพาะ ปัญหาสำคัญอย่างหนึ่งที่โผล่ขึ้นมาในระหว่างการอัพเกรดเวอร์ชันนี้เกี่ยวข้องกับข้อผิดพลาดเมื่อลบไฟล์จากถัง S3 ผู้ใช้สังเกตว่าในขณะที่ใช้ Laravel Media Library 9.11.3 การลบไฟล์บน S3 ทำงานได้อย่างสมบูรณ์แบบ แต่หลังจากอัพเกรดเป็น 9.11.4 การลบไฟล์สื่อจาก S3 เริ่มต้นขึ้นทำให้เกิดข้อผิดพลาด ข้อความแสดงข้อผิดพลาดทั่วไปคือคำขอ AWS HTTP 400 BAD โดยเน้นส่วนหัวที่จำเป็นที่ขาดหายไปในคำขอโดยเฉพาะ "Content-MD5 หรือ X-AMZ-Checksum-*" หายไปในส่วนหัวคำขอการลบ

ข้อผิดพลาดนี้นำไปสู่ปัญหาที่บันทึกฐานข้อมูลของสื่อถูกลบ แต่ไฟล์ที่เกี่ยวข้องในถัง S3 ไม่ได้ถูกลบออก ผู้ใช้รายงานว่าพบข้อผิดพลาดหลายประเภทอย่างสม่ำเสมอระหว่างการดำเนินการลบ ข้อผิดพลาดเกิดขึ้นโดยเฉพาะกับคำขอโพสต์ไปยังจุดสิ้นสุดของ Bucket S3 Bucket คำขอล้มเหลวเนื่องจากส่วนหัวที่ไม่สมบูรณ์หรือขาดหายไปโดย AWS S3 สำหรับการดำเนินการลบแบบแบทช์

การสอบสวนโดยชุมชนและผู้ดูแลเปิดเผยว่าความผิดปกตินี้ไม่ได้เกิดจากการเปลี่ยนแปลงในรหัสห้องสมุด Laravel Media โดยตรง แต่ถูกติดตามกลับไปที่ข้อผิดพลาดใน AWS SDK พื้นฐานสำหรับ PHP (AWS/AWS-SDK-PHP) รุ่นที่มีปัญหาของ AWS SDK ซึ่งเป็นรุ่นที่โดดเด่น 3.209.31 แนะนำปัญหาส่วนหัวในการลบคำขอวัตถุสำหรับ S3 ขอแนะนำให้ตรวจสอบรุ่น AWS SDK ที่ติดตั้งโดยใช้นักแต่งเพลงและอัปเดตเป็นเวอร์ชัน 3.211.x หรือใหม่กว่าเพื่อแก้ไขปัญหา หลังจากอัพเกรด AWS SDK อย่างอิสระผู้ใช้รายงานว่าข้อผิดพลาดการลบจะหยุดเกิดขึ้น

นอกเหนือจากข้อผิดพลาดที่เกี่ยวข้องกับการลบนี้ผู้ใช้บางคนรายงานการเผชิญหน้ากับความล้มเหลวของการโทร S3 API เป็นระยะหลังจากอัพเกรดเป็น Laravel Media Library 9.11.4 มีการอ้างอิงถึงการใช้ "forcentelete ()" ในวิธีการภายในของห้องสมุดเปลี่ยนวิธีการลบการประมวลผลซึ่งอาจเปิดเผยหรือขยายข้อผิดพลาดที่เกี่ยวข้องกับ AWS SDK ผู้ใช้บางคนยังกล่าวถึงภาวะแทรกซ้อนที่เกิดขึ้นเมื่อใช้การลบแบบอ่อนในแบบจำลองของพวกเขาซึ่งอาจปกปิดหรือส่งผลกระทบต่อวิธีการลบ S3 ถูกเรียกใช้

นอกเหนือจากปัญหาการลบแล้วยังมีความท้าทายอื่น ๆ ที่รายงานโดยผู้ใช้เมื่อรวม Laravel Media Library กับ S3 แม้ว่าจะไม่ได้เชื่อมโยงกับเวอร์ชัน 9.11.4 โดยเฉพาะ ตัวอย่างเช่นผู้ใช้บางคนต้องเผชิญกับปัญหาที่เกี่ยวข้องกับคุณสมบัติการอัปโหลดชั่วคราวใน Media Library Pro เมื่อกำหนดค่าให้อัปโหลดโดยตรงไปยัง S3 ปัญหาเช่นไฟล์ที่ไม่คาดคิดหายไปจาก S3 หลังจากเสร็จสิ้นการอัปโหลดข้อผิดพลาดการเปิดไฟล์ท้องถิ่นชั่วคราวและความแตกต่างของการกำหนดค่าเป็นหัวข้อทั่วไป ปัญหาเหล่านี้มักเกิดจากวิธีการจัดการไฟล์ชั่วคราวในเครื่องและซิงโครไนซ์กับการกำหนดค่าดิสก์ S3 และเวลาหรือลำดับของการดำเนินการบันทึกในรุ่นที่ถือไฟล์แนบสื่อ

ปัญหาที่รายงานอีกประเภทหนึ่งเกี่ยวข้องกับการอนุญาตและการควบคุมการเข้าถึงในถัง S3 ตัวอย่างเช่นหากถัง S3 เป็นส่วนตัวการอัปโหลดหรือการลบอาจล้มเหลวได้หากนโยบายของ IAM หรือนโยบายที่เก็บข้อมูลไม่อนุญาตให้เข้าถึงแอปพลิเคชัน Laravel ได้เพียงพอส่งผลให้เกิดข้อผิดพลาดในการเข้าถึง บางครั้งสิ่งนี้อาจสับสนกับปัญหาห้องสมุดหรือ SDK แต่จริงๆแล้วเกิดจากรูปแบบการอนุญาต AWS

ผู้ใช้บางคนยังพบพฤติกรรมที่ไม่คาดคิดในการแปลงสื่อ (การปรับขนาดภาพการเปลี่ยนแปลงรูปแบบ) เมื่อทำงานกับดิสก์ S3 สิ่งนี้ถูกเน้นโดยเฉพาะอย่างยิ่งสำหรับการแปลงการประมวลผลแบบคิวซึ่งการกำหนดค่าดิสก์หรือสภาพแวดล้อมของผู้ปฏิบัติงานอาจขาดการเข้าถึงหรือหมดเวลาทำให้การแปลงล้มเหลวหรือไม่ถูกกระตุ้นอย่างถูกต้อง ในขณะที่ปัญหาเหล่านี้เป็นเรื่องทั่วไปมากขึ้นด้วยการใช้งานห้องสมุดสื่อ Laravel ขนาดใหญ่และงานที่รอคิวพวกเขาตัดกับการใช้ S3 ในการผลิต

โดยสรุปปัญหาที่ได้รับการยืนยันหลักที่รู้จักกับ Laravel Media Library 9.11.4 และ S3 Integration Integration Hing บนข้อผิดพลาดการลบเนื่องจากข้อผิดพลาด AWS SDK PHP ต้นน้ำต้นน้ำทำให้ส่วนหัวที่จำเป็นต้องหายไปสำหรับการลบคำขอทำให้การลบไฟล์ล้มเหลวใน S3 การอัพเกรด AWS PHP SDK แก้ไขปัญหานี้ นอกเหนือจากนี้ผู้ใช้ควรตรวจสอบให้แน่ใจว่ามีการอนุญาตให้ใช้ S3 Bucket และระวังกรณีที่มีการอัพโหลดชั่วคราวและการแปลงสื่อที่รอคิวเมื่อทำงานกับ S3 เพื่อหลีกเลี่ยงปัญหาการดำเนินงานอื่น ๆ

การอ้างอิงจากรายงานของผู้ใช้และชุมชนระบุว่าปัญหาเหล่านี้เกิดขึ้นในช่วงต้นปี 2565 และได้รับการกล่าวถึงเป็นหลักเกี่ยวกับปัญหา GitHub สแต็กล้นและฟอรัม Laravel ปัญหาไม่ได้ถูกแยกออกจากไลบรารีสื่อ แต่เกี่ยวข้องกับการโต้ตอบของวิธีการของห้องสมุดกับพฤติกรรมรุ่นเฉพาะของ AWS SDK ผู้ใช้จะแนะนำให้ล็อคหรืออัพเกรดการพึ่งพาอย่างระมัดระวังและตรวจสอบการเปลี่ยนแปลง SDK สำหรับการแก้ไขที่เกี่ยวข้องกับการดำเนินงาน S3

ปัญหาสาเหตุของพวกเขาและขั้นตอนการแก้ไขตามที่พบในการอภิปรายชุมชนและผู้ติดตามปัญหาอย่างเป็นทางการให้ความเข้าใจที่ครอบคลุมสำหรับนักพัฒนาที่เผชิญกับความท้าทายที่คล้ายกันกับ Laravel Media Library 9.11.4 และ AWS S3 Integration ประเด็นหลักคือการรับรองการพึ่งพาเช่น AWS SDK เป็นปัจจุบันและการตรวจสอบสำหรับการอนุญาตหรือความขัดแย้งการกำหนดค่าที่อาจเลียนแบบข้อบกพร่องของห้องสมุด