Trả lời vào ngày 20 tháng 11 năm 2019:
Tạo lại bộ nhớ cache hình ảnh bằng lệnh không phải là một giải pháp khả thi cho tất cả vì sẽ mất rất nhiều thời gian cho một số trang web có nhiều sản phẩm. Ngoài ra, tôi gặp phải một số vấn đề như Nếu chúng tôi tạo hình ảnh bộ đệm từ CLI, nó sẽ hoạt động. Khi chúng tôi xóa hình ảnh từ quản trị viên hoặc xóa hình ảnh được lưu thủ công vào thời điểm đó, nó sẽ không tạo lại hình ảnh bộ đệm khi tải trang vì vậy tôi cần chạy lại lệnh lặp đi lặp lại. Theo quan điểm của tôi, giải pháp tốt nhất là tạo bộ đệm hình ảnh khi tải trang.
Lưu lượng mặc định
Luồng Magento mặc định là bất cứ khi nào nó tải hình ảnh (phương tiện), nó sẽ luôn chuyển yêu cầu đến pub / get.php và kiểm tra xem hình ảnh có tồn tại hay không. Nếu nó không tồn tại, nó sẽ tạo ra một hình ảnh lưu trữ mới. Nếu nó tồn tại, nó sẽ trả lại con đường đó. Vì vậy, theo hình ảnh mặc định sẽ tạo ra khi tải trang.
Chúng ta có thể kiểm tra thông qua logic này trong các tệp bên dưới
pub/media/.htaccess
cho máy chủ apache
RewriteRule .* ../get.php [L]
.............................
.............................
nginx.conf.sample
cho máy chủ nginx
location /media/ {
try_files $uri $uri/ /get.php$is_args$args;
.......................................
.......................................
Làm thế nào để kiểm tra logic này có hoạt động hay không?
Đặt echo "test";exit;
vào đầu pub / get.php và tải bất kỳ URL phương tiện được lưu trong bộ nhớ cache nào, nó sẽ in thử. Nếu không, một cái gì đó sai trong cấu hình máy chủ của bạn.
Đối với tôi, bất cứ khi nào tôi xóa thư mục bộ đệm danh mục (rm -rf pub / media / catalog / sản phẩm / cache / *) sau đó khi chúng tôi tải trang, nó sẽ không tạo ra một hình ảnh được lưu trong bộ nhớ cache mới và nó không tìm thấy trang 404 và Ngoài ra, nó không bao giờ đạt được get.php . Sau đó tôi nhận thấy rằng nhiều thư mục có quyền không chính xác khác với 755 cho các thư mục và 644 cho các tệp. Sau khi tôi đặt quyền, nó hoạt động tốt.
Tôi hy vọng nó cho một số ý tưởng.