Magento 2'nin yerel kurulumu pub / statik klasöründe dosya oluşturmaz


15

Magento 2 Community Edition'ı örnek verilerle (web sitelerinden indirilen ve besteci ile yüklenmeyen) MAMP aracılığıyla yerel olarak yükledim. Yükleme işlemi başarılı oldu, ancak pub / statik klasöründeki tüm dosyalar .htaccess dışında eksik. Bu, tüm css, js vb. Hem ön uç hem de arka uç için 404 döndürür anlamına gelir.

Ben şans olmadan bu sorunu çözmek için birkaç saat geçirdim. Şimdiye kadar yaptığım şey bu:

  • Değiştirilen Options Indexes FollowSymLinks AllowOverride/MAMP/conf/apache/httpd.conf içinde 'All' için 'Yok' dan ve yeniden MAMP
  • LoadModule rewrite_module modules/mod_rewrite.soHttpd.conf'da uncommented olduğundan emin olun
  • MAMP'ta bir geliştirme etki alanı (magento.dev) oluşturun
  • php bin/magento setup:static-content:deployTerminal kullanarak magento.dev kökünde çalışmayı denedi. Ancak bu şunu döndürür:

Önemli hata: 'Yerel Ayar' sınıfı 64. satırdaki /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php dosyasında bulunamadı

  • RewriteBase /Uncommented ve RewriteBase magento.dev kök dizinindeki .htaccess dosyasında değiştirildi .
  • Magento'yu geliştirme moduna getirin
  • Önbelleği manuel olarak temizleme ve php bin/magento setup:static-content:deploytekrar çalıştırma

Çoğu rehber ve forum gönderisi çalıştırmamı söylüyor: php bin/magento setup:static-content:deployama doğru şekilde yapıyorsam emin değilim.

İşletim Sistemi: OSX 10.11.2

MAMP sürümü: 3.5

PHP sürümü: 7.0

Apache sürümü: 2.4.16

MySQL sürümü: 5.6.25

Herhangi bir yardım mutluluk duyacağız.


CentOS sunucusunda 2.2.2 yüklüyüm. Bu sayfadaki hiçbir şey işe yaramıyor. Herhangi bir stil için php bin/magento setup:static-content:deploy -f 80 saniye beklemeliyim.
Chris K

Yanıtlar:


15

ÇÖZÜM 1 (XML DOSYASINI DÜZENLEMEK İSTİYORSANIZ)

Ben Magento 2 zip indirmek , phpmyadminmagentocommerce.com/download yeni db oluşturmak , htdocs klasöründe zip ayıklamak istiyorum . Magento 2'yi yükleyin, ancak mağaza URL'sinde ve yönetici URL'sinde 127.0.0.1 localhost kullanmayın . Başarılı kurulumdan sonra magento'yu ÇALIŞTIRMAYIN .

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

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

Magento 2 üretim modunda olmadığında, yerel sunucudaki bazı statik kaynaklar için semboller oluşturmaya çalışır. Magento 2'nin bu davranışını ROOT > app > etc > di.xmldosyayı düzenleyerek değiştirmeliyiz . di.xmlFavori kod düzenleyicinizde 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 öğe 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ım, içinde oluşturulan eski dosyaları da silin ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS

Ben şahsen MAMP, EasyPHP DevServer, Xampp ve Wampp kullanarak localhost üzerinde denedim ve başarıyla yüklü ve Magento 2 kullanarak. Daha fazla bilgi için bu bağlantıyı kontrol edebilirsiniz: Magento 2 CSS ve JavaScript doğru klasörden yüklenmiyor

ÇÖZÜM # 2

Composer'ı yükleyin. Şimdi Magento 2 zip indirmek , phpmyadminmagentocommerce.com/download yeni db oluşturmak , htdocs klasöründe zip ayıklamak istiyorum . Magento 2'yi yükleyin, ancak mağaza URL'sinde ve yönetici URL'sinde 127.0.0.1 localhost kullanmayın . Başarılı kurulumdan sonra magento'yu ÇALIŞTIRMAYIN .

Şimdi Composer kurulumunu doğrulayacağız, Statik içerik dağıtacağız, Magento önbelleğini temizleyeceğiz / temizleyeceğiz ve Magento 2 bloklarını yeniden dizine ekleyeceğiz. Yukarıdaki tüm eylemleri gerçekleştirmek 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 yukarıdaki dizinde Composer kurulumunu doğrulamak için “ composer install ” yazın.

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

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

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

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

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

Magento 2'nin başarılı kurulumunu tamamladınız.


Yanıt düzenlendi.
Fayyaz Khattak

Azam! Çözümü 1 denedim ve benim için çalışıyor .. Teşekkürler Khatak sb
Muhammed Azeem

@MuhammadAzeem
Fayyaz Khattak 01.06.2014

@RajaKhoury Bir şey değil!
Fayyaz Khattak

Çözüm 1 benim için çalışıyor! Çok teşekkür ederim !!
Daniel Silva

5

Aşağıdaki komutu çalıştırmayı deneyin

php bin/magento setup:static-content:deploy

Bu komutu çalıştırırken herhangi bir hata veriyorsa (daha önce de belirttiğiniz gibi eksik dosya), proje dosya yapınızı yeni magento2dosya yapısı ile karşılaştırın. Projenizde eksik herhangi bir dosya varsa projenize uygun dosyayı kopyalayın.

Ve başka bir hatayla karşılaşırsanız, sorunuza bir hata gönderin, böylece birisi sorunuzu cevaplayabilir.


Hızlı bir yanıt için teşekkürler. Bunu yapacağım. Bu komutu tam olarak nerede ve nasıl çalıştırırım?
Skovsgaard

@Skovsgaard bu komutu terminalinizden çalıştırabilirsiniz, ancak terminalden magento2 dizininde olduğunuzdan emin olun
Keyur Shah

Hiçbir dosya eksik gibi görünüyor. Yüklü Magento açık bir şekilde kurulum işlemi ile ilgili daha fazla dosya içeriyor. Bu hatayı alıyorum: kök dizinde Fatal error: Class 'Locale' not found in /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64çalıştırdıktan sonra php bin/magento setup:static-content:deploy.
Skovsgaard

Gerçekten yardımcı değildim. Afedersiniz.
Skovsgaard

2

Görünüşe göre intluzantı php konsol sürümünde yüklü değil. Lütfen php'nin apache ve cli sürümü için aynı sürümü / ayarları kullandığınızdan emin olun.

MacOsX, php'nin önceden yüklenmiş bir sürümüne sahiptir ve php'yi yükleyen bazı paketler terminal oturumu için symlink'i değiştirmez. Sonuç olarak aynı anda php farklı sürümü yüklü olabilir.

PS: Mac OS'de vagrant kullanmayı öneriyorum. dosya paylaşımı için nfs kullanılırsa oldukça iyi çalışıyor


Aha! Önceden yüklenmiş php (cli) yalnızca 5.5.30'dur. Önceden Yüklenmiş Apache 2.4.16'dır (MAMP ayrıca Apache'yi ayrıca yüklüyorsa MAMP'ın apache sürümünü nasıl kontrol edeceğimi bilmiyorum). Bu yüzden önceden yüklenmiş sürümü 7'ye güncellemem ve ayrıca intl uzantısını (cli veya mamp?) Yüklemem gerekiyor mu? Vagrant benim gibi bir çaylak için çok ileri görünüyor.
Skovsgaard

Mac'e özgü soruları cevaplayamıyorum ancak PHP sürümünüzü kontrol etmenin en az iki yolu var: php -v( PHP sürümünün hangi sürümü çalıştırdığını gösterir) ve web sunucusunun hangi PHP sürümünü çalıştırdığını gösteren bir phpinfo.php kullanma .
Steve Johnson

Tamam, MAMP PHP 7 ve Apache 2.2.29 çalıştırıyor. Yerel makinem PHP 5.5.30 ve Apache 2.4.16 çalıştırıyor. Bir sonraki adım, yerel makinenin PHP'sini 7'ye güncellemektir?
Skovsgaard

Lütfen php7 binary için tam yolu kullanmayı deneyin
KAndy

2

Her şey başarısız olursa, bu dizinleri budamak:

rm -rf pub/static/*    # DO NOT DELETE .htaccess
rm -rf var/view_preprocessed/*
php bin/magento setup:static-content:deploy

Bu dirseklerde kırık simgeler varsa bu işe yarar.


1
.htaccess asla silinmemelidir. Ben de bu hatayı yaptım ve saatleri boşa harcadım
Tahir Yasin

1

page_cache, di, view_process, önbellek

ardından klasörlere ve dosyalara uygun izin verin.

o zaman koş php bin/magento setup:static-content:deploy kök klasörünüzden .

pub / statik kontrolü.

Umarım bu sana yardımcı olmuştur.


Nerede ve nasıl koşarım clear page_cache, di ,view_process, cache? Bu yerel bir kurulum, bu yüzden bilgisayarımın yönetici süper olarak tüm izinleri okuma / yazma izinleri var. Farkında olmadığım başka izinler var mı?
Skovsgaard

Kök klasöre tam izin vermek yerine yerel kullanıyorsanız
denach vachhani

tüm klasörler var / clear tüm klasörler ve klasör için tam izin verir.
denish vachhani

1

Eğer yüklü olması composerve çalıştırmak composer initmagento2 dizinde? Değilse, deneyin ve ardından komutu çalıştırınphp bin/magento setup:static-content:deploy


Composer makineme kuruldu, evet, ama Magento 2'yi yüklemek için kullanmadım. Sadece .zip'i web sitesinden indirdim, ambalajından çıkıp kurdum. Eğer composer initcomposer çalıştırırsanız composer.json config kurmamı ister, bu yüzden sanırım bu yardımcı olmaz.
Skovsgaard
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.