Magento 2 CSS ve JavaScript doğru klasörden yüklenmiyor


35

Buradaki birinin yardım edebileceğini umuyorum. Magento 2'yi WAMP'a Windows 7 makinesinde çok az başarılı bir şekilde kurmaya ve çalıştırmaya çalışıyorum.

Sitenin yüklenmesini sağlamak için çok sayıda ve çeşitli kasnakların içinden atladıktan sonra şu an 404 yanıtla karşılaşıyorum ve stil veya javascript yüklemesi ile karşı karşıya değilim.

Spec aşağıdaki gibidir:

  • Magento-CE-2.0.0 + Örnek
  • Apache 2.4.9
  • PHP 5.5.12
  • MySQL 5.6.17

Tarayıcı konsoluna baktığımda hataların arasında pub / statik klasörde olmayan dosyalara erişme deneniyor. "Frontend" klasörü yüklenir ve dosyaların çoğu bulunur. Ancak bazı CSS dosyalarının bulunmadığını fark ettim.

PHP konuşlandırma komutunu çalıştırırken

php bin/magento setup:static-content:deploy

Bu diğer yazılarda belirtilen aşağıdaki hatayı alıyorum. Bunun nasıl düzeltileceğinden emin değilim?

Ölümcül hata: C: \ wamp \ www \ magento \ vendor \ oyejorge \ less.php \ lib \ Less \ Visitor.php satırındaki C: \ wamp \ www \ magento \ vendor \ oyejorge \ less.php \ lib \ Less.'de tükenen 134217728 bayt bellek boyutu

Herhangi yardım çok makbule geçer.

GÜNCELLEŞTİRME

PHP bellek hakkını arttırdım ve php konuşlandırma komut dosyasını tekrar çalıştırdım. Bu sefer hata yapmadı ve tamamen idam edildi. Bununla birlikte, yukarıda açıklanan aynı konu halen mevcuttur. Site yüklenir, ancak herhangi bir sayfa veya öğe yüklenmeye çalışılmaya çalışılırsa, 404 sayfalık bir biçimlendirme uygulanmaz.

Lütfen Chrome Inspector'daki hataların altına bakın.

görüntü tanımını buraya girin


@TejabhagavanKollepara Bu soru ilk önce soruldu, iyi şekillendi, iyi cevaplara sahip, bu yüzden IMO diğer soru bu bir değil, bir dupe adayıydı ... Btw, eğer bu sorunun bir kopyası olarak işaretlenmişse reddedildi , aynı şeyi başarmaya çalışmak için bu soruyu diğerinin kopyası olarak işaretlemek gerekli değildir.
07

SA'nın cevabına da bakınız - yeni bir Magento kurulumu "varsayılan" ("üretim" değil) moddadır ve konuşlandırılmış statik içeriğe ihtiyaç duymaz; bu, diğer tüm cevaplarda yapmanız gereken şeydir.
Jnisnis Elmeris

Yanıtlar:


50

ÇÖZÜM # 1 (XML DOSYAYINI DÜZENLEME YAPMAK İSTİYORSANIZ)

Ben magentocommerce.com/downloadörnek veri ile Magento 2 zip indirmek , phpmyadmin içinde yeni db oluşturmak , htdocs klasöründe zip ayıklamak istiyorum . Magento 2'yi kurun, ancak localhost kullanmayın , mağaza URL'sinde ve yönetici URL'sinde 127.0.0.1 kullanın . Başarılı bir kurulumdan sonra DO DEĞİL magento çalıştırın.

Şimdi Magento 2'nin önbelleklerini ve oturumlarını sileceğiz / sileceğiz. Aşağıdaki yolları izleyin ve her şeyi silin:

ROOT > var > cache > *DELETE ALL*
ROOT > var > page_cache > *DELETE ALL*
ROOT > var > session > *DELETE ALL*

Magento 2 üretim modunda değilken, yerel sunucudaki bazı statik kaynaklar için sembolik bağlantılar oluşturmaya çalışacaktır. Magento 2'nin bu davranışını ROOT > app > etc > di.xmldosyayı düzenleyerek değiştirmeliyiz . di.xmlFavori kod editörünüzde açın , virtualType name="developerMaterialization"bölümü bulun . Aşağıdaki bölümde, <item name="view_preprocessed" xsi:type="object">değiştirilmesi gereken bir ürün bulacaksınız . Aşağıdaki içeriği değiştirerek değiştirebilirsiniz:

Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink

Kime:

Magento\Framework\App\View\Asset\MaterializationStrategy\Copy

Şimdi son adımda, içinde oluşturulan eski dosyaları da silin. ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS

ÇÖZÜM # 2

Besteci yükleyin. Şimdi sizden Magento 2 zip'i indirmenizi , phpmyadmin'demagentocommerce.com/download yeni db oluşturmanızı , htdocs klasöründe zip'i çıkarmanızı istiyorum . Magento 2'yi kurun, ancak localhost kullanmayın , mağaza URL'sinde ve yönetici URL'sinde 127.0.0.1 kullanın . Başarılı bir kurulumdan sonra DO DEĞİL magento çalıştırın.

Şimdi Besteci kurulumunu, Statik içeriği dağıtın, Magento önbelleğini temizleyin / temizleyin ve Magento 2 bloklarını yeniden konumlandırın. Yukarıdaki tüm işlemleri yapmak için, RUN iletişim kutusunu açmak için WINDOWS KEY + R tuşlarına basın ve Komut İstemi'ni açmak için “cmd” yazın.

Magento 2 ROOT dizinine girmek için “ cd PATH_TO_YOUR_MAGENTO2_FILES ” yazın.

Şimdi, Composer kurulumunu yukarıdaki dizinde doğrulamak için “ composer install ” yazın.

Bu adımda herhangi bir hata ile karşılaşırsanız, lütfen Besteci kurulumunuzu kontrol edin.

Bu adımda, Magento mağazamızda dağıtmak için statik içerik ayarlıyoruz. Bunu yapmak için, “ php bin / magento setup: static-content: deploy ” yazın.

Magento'da olanlar için 2.2.x

php bin/magento setup:static-content:deploy -f

Herhangi bir hata alırsanız, PHP.EXE ve PHP.INI Ortam Değişkeninizi kontrol edin

CMD'de “ php bin / magento cache: flush ” yazarak Magento önbelleğini temizle / temizle .

Ve son olarak, Reindex Magento Statik Blokları'na “ php bin / magento indexer: reindex ” yazın.

Magento 2'nin başarılı bir şekilde kurulumu tamamlandı.


4
Ayrıca php.ini değişim içinde max_execution_time 500 e memory_limit 2048m, hiç post_max_size 2048m için, upload_max_filesize 2048m ve max_file_uploads 2048 için
Fayyaz Khattak

Hızlı yanıtınız için teşekkür ederim. Bu değişiklikleri yaptım ama hiçbir etkisi olmadı. Değişiklikleri yaptıktan sonra WAMP sunucusunu yeniden başlattım. Ben Krom denetçisi içinde görebilirsiniz hatalarını göstermek için soru düzenledikten
E.Gain

Bir şeyden bahsettiğim için üzgünüm, önce tüm önbelleği ve oturumu sil, di.xml'de değişiklik yap, ve ayrıca her şeyi KÖK> pub> statik> TÜM HARİCİ SİL .HTACCESS
Fayyaz Khattak

1
@MagenX Bu, her insanın hangi aracı kullanmayı tercih edeceği görüşü. Gözlerinizde, çözüm görüşünüzü paylaşmak yerine her şeyi çekiç olarak eleştirirsiniz.
Fayyaz Khattak

1
2. Çözüm bir cazibe gibi çalıştı, günler olmasa da saatlerce tasarruf ettiğiniz için teşekkür ederim, bu sorunla başa çıkın!
Jonathan Marzullo

11

apache2.conf dosyasını güncellemeniz yeterli.

Ubuntu'da 16.04

  1. Dosyayı aç ve düzenle /etc/apache2/apache2.conf
  2. Apache2.conf dosyasındaki yere gidin <Directory /var/www/>
  3. Değişim "AllowOverride None"için"AllowOverride All"
  4. Dosya 'yı kaydet
  5. Tekrar başlat apache2 -> sudo service apache2 restart

Bu cevabı bulmak çok zordu! Başka her yerde insanlar, yeni bir Magento kurulumu "varsayılan" ("üretim" değil) modda olsa ve konuşlandırılmış statik içeriğe ihtiyaç duymasa da, statik içeriği dağıtmayı (yeniden) önerir.
Jnisnis Elmeris

10

Eğer magento2'ye kurulumdan sonra css ve js sayfasının yüklenme problemi ile karşı karşıya kalırsanız tasarım yükleyin

lütfen aşağıdaki adımları takip edin:

terminali açın ve magento web köküne gidin

 $ cd / var / www / html / magento2 

Aşama 1.

 $ php bin / magento kurulum: statik içerik: dağıtma

Adım 2.

$ php bin / magento dizin oluşturucu: reindex

Aşama 3.

apache “rewrite_module” öğesinin etkinleştirildiğinden emin olun ve ardından sunucuyu yeniden başlatın

4. adım

$ chown -R www-veri: www-veri / var / www / html / magento2 

Adım 5.

 $ chmod -R775 / var / www / html / magento2 

6. adım

var / cache altındaki önbellek klasörünü sil

Yukarıdaki adım çalışıyor. Umarım bu sizin için de işe yarar.

Herhangi bir sorun olursa bana bildirin. :)

http://gotechnies.com/css-javascript-files-loading-magento-2-installation/


1
bu komutları pencerelerde nasıl çalıştırırsınız?
Hassan ALi

1
Sadece ilk 3 adım için benim için çalışıyor. :)
saat

6
Sunucudaki tüm dosyalar için 777'ye izin ayarlamak çok akıllı değil.
Chris Gudn

1
Tüm magento kurulumuna tam okuma yazma izni verdiğiniz adımdan gerçekten etkilenmedim.
Cyclonecode

1
777'ye izin vermek kötü bir tavsiye ancak umarım herhangi bir sistem yöneticisi daha iyi bilir.
John Hall

6

Benim için basit çünkü mod_rewrite etkin değildi.

sudo a2enmod rewrite

ve

service apache2 restart


1
mükemmel çözüm!!! +1 :)
SagarPPanchal

6

Aynı sorunu ekleyerek çözdüm

sudo nano /etc/apache2/apache2.conf

Bunu değiştir

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

buna

<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Ayrıca mod_rewritessl sertifikaları apache2 modülünü ve insall'ı da etkinleştirmelisiniz :

sudo a2enmod ssl

sudo a2ensite default-ssl

sudo a2enmod rewrite

sudo service apache2 restart

1
Bu, artı rm -rf var / * benim için çalıştı. Harika ve güzel yer.
Jon Holland,

6

Css yolunda sürüm adı gösteriliyorsa İşte en basit çözüm

gibi: pub / static / version323334 /

sonra bu sorguyu mysql içinde çalıştırın

INSERT INTO core_config_data (path, value) VALUES ('dev/static/sign', 0)
ON DUPLICATE KEY UPDATE value = 0;

Bundan sonra config önbelleğini temizle

 bin/magento cache:clean config

Ayrıca statik dosya sürümünü admin’den de devre dışı bırakabilirsiniz.

görüntü tanımını buraya girin


4
Bu benim için çalıştı, teşekkür ederim. Ancak, sorgunun INSERT INTO core_config_data (path, value) VALUES ('dev / static / sign', 0);
Aftab,

yol ve değerler nedir
zus

yol, değer alan adlarım, zaten değerleri tanımladım (dev / static / sign, 0), sadece bu sql'yi çalıştırın, çalışması gerekir
Surendra Kumar Ahir

mükemmel çözüm!!! günümü yaptım :) +1
SagarPPanchal

5
  1. Daha önce devre dışı bırakmazsanız, önbelleği devre dışı bırakmayı deneyin.
  2. Magento'nun en son sürümünün temiz kodlu olduğundan emin olun. Bir şeyi değiştirir veya özelleştirirseniz, tüm hataları düzelttiğinizden emin olun.
  3. Aşağıdaki birkaç komutu çalıştırmanız size yardımcı olabilir.

    php bin/magento indexer:reindex

    php bin/magento cache:flush

İçindeki klasörleri kaldır

  • pub/static/frontend/*
  • var/cache
  • var/view_preprocessed/*

  • php bin/magento setup:static-content:deploy


3

Benim durumumda yanlışlıkla .htaccessdosya ROOT/pub/ve ROOT/pub/staticklasörler silindi . Sonra geri döndürdüğümde çalışmaya başladı .


2

Çözüldü !!!

Magento2 kök klasörünün CLI arayüzünde aşağıdaki komutları çalıştırın:

php bin/magento setup:static-content:deploy

php bin/magento indexer:reindex

Sonra magento2 kök dizininde bu komutla var klasörünü silin .

rm -rf var/*

Ardından ana sayfanızı ve yönetici panelinizi yenileyin. İşe yarıyor !!!!! Güzel !!!!


1

404'lerde de aynı sorunu yaşadım. Apache'deki VirtualHost direktifinin doğru olduğundan emin olarak çözdüm. İşte benim VirtualHost:

<VirtualHost *:80>
    DocumentRoot /var/www/magento2
    ServerName magento-ce-2.1.6
    <Directory "/var/www/magento2">
        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>
</VirtualHost>

Ayrıca daha önce neyin yanlış olduğunu söyleyebilir misiniz? Aksi halde bu örnek başkalarına pek yardımcı olmayacaktır.
Fabian Schmengler


0

OP ile aynı sorunu yaşadım ve bunun nedeni yerel ayarımı ayarlamamdı en_AU, bu nedenle varsayılan konuşlandırma komutunu kullanarak yalnızca en_USiçerik oluşturdum . Aslında kullandığınız yerel ayarı komutun EN bölümüne eklemelisiniz, şöyle:

php bin/magento setup:static-content:deploy en_US en_AU

0

Yukarıdaki çözümleri denedim. Ama bana yardımcı olmadı. Buna rağmen, dizilimdeki değişikliklerle aynı komutları kullandım. Onlar,

  1. önbellek, composer_home, kuşak, günlük, page_cache, tmp açık ve view_preprocessed gelen var dizinine

  2. aşağıdaki komutları birer birer çalıştırın.

php bin / magento dizin oluşturucu: reindex

php bin / magento önbelleği: floş

php bin / magento kurulum: statik içerik: dağıtma

Umarım bu benim gibi birine yardımcı olabilir.


0

Mod_pagespeed'i devre dışı bırak

Pagespeed, içeriğinizin "önbelleğe alınmış" bir örneğini bir kısaltmasıyla, yani normal dosyaysa, işler.

image.css

Aşağıdaki gibi ayarlanacaktır.

image.pagespeed.css

Yukarıdakiler çok basit bir örnektir, ancak altta yatan sorunun nerede olduğunu zaten görebilirsiniz. Bu, geçici olarak olmaları nedeniyle çekirdek patlaması yoluyla bulunamadığından yanlış statik içerik yüklenmesine neden olabilir. Bu, Mod_Pagespeed ile devralınan bir sorundur, neden devre dışı bırakılmasını önerdiğimizi düşünelim.

hızlı kuyruklu yıldız desteğinin yanıtı ve sorunumu çözdü


0

Ubuntu 18.04 (Biyonik) için. Statik dosyaların doğru şekilde yüklenmesi için aşağıdaki adımları kullandım.

Kurulum tamamlandıktan sonra:

Aşağıdakileri yapmazsanız apache modülünün 'yeniden yazma' etkin olduğundan emin olun

  • cd /etc/apache2
  • run komutu a2enmod rewrite
  • sudo vi /etc/apache2/apache2.conf

Ardından aşağıdaki değişiklikleri yapın

Şundan değiştir:

<Directory /var/www/>
     Options Indexes FollowSymLinks
     AllowOverride None
     Require all granted
</Directory>

için

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Ardından apache'yi yeniden başlatın

sudo service apache2 restart

veya

sudo /etc/init.d/apache2 restart

Sonra izinlerini değiştirin. <magento root director>

  • chmod -R 774 /var/www/html/<magento root director>

Ardından statik içeriği dağıtın

  • php bin/magento setup:static-content:deploy -f (-f geliştirme aşamasındaysanız gereklidir)

Sonra önbelleği temizle ve yeniden dizine ekle

  • <magento root directory> php bin/magento cache:flush
  • <magento root directory> php bin/magento indexer:reindex

VEYA

  • <magento root directory> rm -R /var/cache*

Ardından giriş sayfanıza kullanarak erişin

  • 127.0.0.1/your_configured_url yerine localhost/your_configured_url

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.