ตอบวันที่ 20 พฤศจิกายน 2562:
สร้างรูปภาพอิมเมจใหม่โดยใช้คำสั่งไม่ใช่โซลูชันที่เป็นไปได้สำหรับทุกคนเพราะจะใช้เวลาสำหรับเว็บไซต์ที่มีผลิตภัณฑ์จำนวนมาก นอกจากนี้ฉันต้องเผชิญกับปัญหาบางอย่างเช่นถ้าเราสร้างภาพแคชจาก CLI มันจะทำงาน เมื่อเราล้างรูปภาพจากผู้ดูแลระบบหรือลบภาพแคชด้วยตนเองในเวลานั้นมันจะไม่สร้างภาพแคชอีกครั้งในการโหลดหน้าดังนั้นฉันต้องเรียกใช้คำสั่งสร้างใหม่อีกครั้งและอีกครั้ง ตามมุมมองของฉันทางออกที่ดีที่สุดคือการสร้างแคชภาพในการโหลดหน้า
โฟลว์เริ่มต้น
ค่าเริ่มต้นการไหลของวีโอไอพีคือเมื่อใดก็ตามที่โหลดรูปภาพ (สื่อ) มันจะผ่านการร้องขอไปยัง pub / get.php และตรวจสอบว่ามีภาพอยู่หรือไม่ หากไม่มีอยู่รูปภาพนั้นจะสร้างรูปภาพแคชใหม่ หากมีอยู่มันจะคืนค่าเส้นทางนั้น ดังนั้นโดยภาพเริ่มต้นควรสร้างในการโหลดหน้า
เราสามารถตรวจสอบรหัสผ่านนี้ด้วยตรรกะในไฟล์ด้านล่าง
pub/media/.htaccess
สำหรับเซิร์ฟเวอร์ apache
RewriteRule .* ../get.php [L]
.............................
.............................
nginx.conf.sample
สำหรับเซิร์ฟเวอร์ nginx
location /media/ {
try_files $uri $uri/ /get.php$is_args$args;
.......................................
.......................................
วิธีการตรวจสอบตรรกะนี้ทำงานหรือไม่
ใส่echo "test";exit;
จุดเริ่มต้นของ pub / get.php และโหลด URL สื่อใด ๆ ที่แคชไว้ควรพิมพ์ทดสอบ มิฉะนั้นมีข้อผิดพลาดในการกำหนดค่าเซิร์ฟเวอร์ของคุณ
สำหรับฉันทุกครั้งที่ฉันลบไดเรกทอรีแคชแคตตาล็อก (rm -rf pub / media / catalog / product / cache / *) หลังจากนั้นเมื่อเราโหลดหน้ามันจะไม่สร้างภาพแคชใหม่และจะไปที่หน้า 404 และ ยังไม่เคยได้รับ . php ฉันสังเกตว่าโฟลเดอร์หลายแห่งมีการอนุญาตที่ไม่ถูกต้องแตกต่างจาก 755 สำหรับโฟลเดอร์และ 644 สำหรับไฟล์ หลังจากที่ฉันตั้งสิทธิ์ที่ถูกต้องก็ใช้งานได้ดี
ฉันหวังว่ามันจะให้ความคิดบางอย่าง