Katalog önbellek görüntüleri sorunlarını yeniden oluşturma


19

Geçiş işlemi tamamlandıktan sonra Magento 1.9.2.4'ten Magento 2.1.6'ya geçiş işlemini gerçekleştiriyorum, M1'in medya klasörünü pub / media M2'ye taşıyorum.

Sorun şu ki, bazı resimler katalog / Önbellek klasöründe oluşturulmuyor

Örneğin, aşağıdaki resimler bulunamadı 404 için bulunamadı

pub/media/catalog/product/cache/f9c7fbe9b524c081a3ccf800cbd963eb/m/s/msj006c-red_2.jpg
pub/media/catalog/product/cache/75eed2686e01eb22cb4050b2f40ddf97/m/s/msj006c-red_2.jpg
pub/media/catalog/product/cache/f9c7fbe9b524c081a3ccf800cbd963eb/m/s/msj006c-red_2.jpg

Sadece katalog önbellek klasörünü silmek ve sayfayı tekrar yüklemek gibi yaptım ama yine de kırık görüntü gider.

Sayfamda kırık resimlerin% 50'si var

resim açıklamasını buraya girin

bu sorunu çözmek için geçici çözümü paylaşabilir miyim?


Merhaba bilal u bana yardım ve önermek magento.stackexchange.com/questions/283277/…
Nagaraju K

Yanıtlar:


29

Gerekli tüm yeniden boyutlandırmaları önceden oluşturmak için image resize komutunu kullanmayı denemelisiniz.

php bin/magento catalog:image:resize

Bu komut, tema XML'sinde tanımlanan tüm görüntü boyutlarını alır ve görüntüleri doğru klasörlerinde önceden oluşturur.

Daha fazla bilgi için komut belgelerine de bakabilirsiniz http://devdocs.magento.com/guides/v2.1/frontend-dev-guide/themes/theme-images.html


5
FYI - bu komut her boyutta bir mağazada çalışmak için sonsuza kadar sürer. Biz son bir kaçak 17 saat yukarı gördüm. Diğer durumlarda, bir hafta sonu boyunca çalıştırılması gerekiyordu. Bakınız: github.com/magento/magento2/issues/8145
Leland

aynı sorunu vardı i gösteren bu cmd görüntüleri çalıştırın ama floş önbellek sonra tekrar tüm görüntüleri ve önbellek klasöründe hiçbir görüntü kırık
imtiazau

1
Php bin / magento catalogue: image: resize kullanıyorsanız, 1 günden fazla sürecek ve en iyi yöntemlerden herhangi biri?
Soundararajan m

@Alex Dinca lütfen bana bu konuda
Nagaraju K

Snipboard.io/JZ2bQR.jpg kullanarak Magento 1 Magento 2 görüntüleri alıyorum , önbellek sorunu nasıl çözülür? @Alex
Gem

0

Ben de bu sorunu vardı ve hatta yukarıda belirtilen komut satırı görüntüleri üretimi işe yaramadı. Magento , küçük resmin oluşturulduğu bilgileri önbelleğe alıyor gibi görünüyor ve standart Magento önbellek temizliği (hem komut satırı hem de yönetici paneli) bile bu bilgileri önbellekten kaldırmıyor.

Tüm önbellek dizinlerinin içeriğini el ile kaldırdım ve yardımcı oldu:

rm -Rf var/cache/*
rm -Rf var/page_cache/*

.. ve bunun gibi. Ardından küçük resimler siteye göz atarken düzgün bir şekilde "istek üzerine" oluşturulmalıdır.


0

Aynı sorunu yaşadım ama Magento 2.3.2 ile

Benim için yanlış önbellek karma yoluna sahip olan ürün küçük resmiydi. Ürün ve kategori resimleri doğruydu, ancak başparmak URL'si yanlıştı ve std Magento resim yer tutucusunu gösteriyor.

Özel bir tema kullanıyordum.

SHH "php bin / magento catalog: images: resize" kullanırken - ne oluyordu? Görüntüler, Luma teması etc / view.xml dosyası yerine etc / view.xml kullanılarak oluşturuldu.

Sorun. Luma temasına farklı boyutta görüntüler kullanan tarayıcıda özel temamı görüntülerken, Magento görüntüleri bulamadı ve 404 hatası gösteriyor.

Çözüm.

Replace Luma themes etc/view.xml with my custom theme etc/view.xml
Using SHH run "php bin/magento catalog:images:resize

Bunu nasıl düzelteceğimi öğrenmek için bir hafta sürdüm, ama şimdi hepsi iyi çalışıyor.



0

20 Kasım 2019'da cevap:

Görüntü önbelleğini komutla yeniden oluştur, herkes için uygun bir çözüm değildir, çünkü birçok ürün içeren bazı web siteleri için çok zaman alacaktır. Ayrıca, CLI'den bir önbellek görüntüsü oluşturursak, işe yarayacak gibi bazı sorunlarla karşılaştım. Yöneticiden görüntüleri temizlediğimizde veya önbelleğe alınmış görüntüyü o anda manuel olarak sildiğimizde, sayfa yüklemesinde bir önbellek görüntüsü oluşturmayacak, bu yüzden reenerate komutunu tekrar tekrar çalıştırmam gerekiyor. Benim görüşüme göre, en iyi çözüm sayfa yüklemesinde görüntü önbelleği oluşturmaktır.

Varsayılan Akış

Varsayılan Magento akışı, görüntüyü (medya) yüklediğinde gerçekleşir, her zaman pub / get.php gönderme isteğinden geçer ve görüntünün var olup olmadığını kontrol eder. Eğer mevcut değilse, yeni bir önbellek görüntüsü oluşturur. Varsa, bu yolu döndürür. Bu nedenle, varsayılan olarak görüntü sayfa yüklemesinde oluşturulmalıdır.

Bu geçişi aşağıdaki dosyalarda mantık yoluyla kontrol edebiliriz

pub/media/.htaccessiçin apache sunucusuna

RewriteRule .* ../get.php [L]
.............................
.............................

nginx.conf.sampleiçin nginx sunucuya

location /media/ {
    try_files $uri $uri/ /get.php$is_args$args;
    .......................................
    .......................................

Bu mantığın çalışıp çalışmadığını nasıl kontrol edebilirim?

Put echo "test";exit;pub / get.php başlangıç ve herhangi önbelleğe medyayı URL yüklemek, bu testi yazdırmak gerekir. Aksi takdirde sunucu yapılandırmanızda bir sorun var.

Benim için, katalog önbellek dizinini (rm -rf pub / media / catalog / product / cache / *) sildiğimde, sayfayı yüklediğimizde yeni bir önbelleğe alınmış görüntü oluşturmayacak ve 404 sayfaya bulunamadı ve ayrıca get.php'ye asla ulaşmaz . Daha sonra klasörlerin çoğunun klasörlerde 755 ve dosyalar için 644'ten farklı izinlere sahip olduğunu fark ettim. Doğru izni ayarladıktan sonra iyi çalışıyor.

Umarım bir fikir verir.


Herhangi bir yardım magento.stackexchange.com/q/296715/57334 teşekkürler @Bilal Usean
zus
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.