स्क्रिप्ट और सीएसएस के लिए Magento 2 404 त्रुटि


39

मैंने https://github.com/magento/magento2 से Magento 2 डाउनलोड और इंस्टॉल किया है

लेकिन मुझे स्क्रिप्ट्स और सीएस के लिए http: // localhost / magento2 / pub / static / में 404 त्रुटि मिल रही है

मैंने जाँच की है, अपाचे रीराइट इंजन चालू है। लेकिन फिर भी, css और js फ़ाइल लोड नहीं हो रही है।

जब मैं किसी फ़ाइल को सीधे ब्राउज़र से एक्सेस करने का प्रयास करता हूं तो यह निम्न अपवाद देता है।

Cannot create a symlink for "D:/xampp/htdocs/magento2/lib/web/mage/calendar.css" and place it to "D:/xampp/htdocs/magento2/pub/static/frontend/Magento/blank/en_US/mage/calendar.css" Warning!symlink(): Cannot create symlink, error code(1314)
#0 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\Filesystem\Directory\Write.php(155): Magento\Framework\Filesystem\Driver\File->symlink('D:/xampp/htdocs...', 'D:/xampp/htdocs...', Object(Magento\Framework\Filesystem\Driver\File))
#1 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink.php(30): Magento\Framework\Filesystem\Directory\Write->createSymlink('lib/web/mage/ca...', 'frontend/Magent...', Object(Magento\Framework\Filesystem\Directory\Write))
#2 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\View\Asset\Publisher.php(65): Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink->publishFile(Object(Magento\Framework\Filesystem\Directory\Write), Object(Magento\Framework\Filesystem\Directory\Write), 'lib/web/mage/ca...', 'frontend/Magent...')
#3 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\View\Asset\Publisher.php(49): Magento\Framework\App\View\Asset\Publisher->publishAsset(Object(Magento\Framework\View\Asset\File))
#4 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\StaticResource.php(118): Magento\Framework\App\View\Asset\Publisher->publish(Object(Magento\Framework\View\Asset\File))
#5 D:\xampp\htdocs\magento2\lib\internal\Magento\Framework\App\Bootstrap.php(245): Magento\Framework\App\StaticResource->launch()
#6 D:\xampp\htdocs\magento2\pub\static.php(13): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\StaticResource))
#7 {main}

मेरा ऑपरेटिंग सिस्टम विंडोज 7 है और मैं xampp सर्वर चला रहा हूं।


एहसास यह 2015 में पूछा गया था, लेकिन अगर कोई अन्य अभी भी इस पोस्ट को देखता है तो आपको गिट से मैगेंटो नहीं मिलना चाहिए। आप केवल ऐसा करते हैं यदि आप एक पुल अनुरोध सबमिट कर रहे हैं। Magento को साइट के डाउनलोड अनुभाग से डाउनलोड किया जाना चाहिए या संगीतकार के माध्यम से स्थापित किया जाना चाहिए।
डोमिनिक ज़िगेन

जवाबों:


86

जब उत्पादन मोड में नहीं मैगेंटो 2 कुछ स्थैतिक संसाधनों के लिए सिम्बल बनाने की कोशिश करेगा। आप निम्न करके उस व्यवहार को बदल सकते हैं।

  1. खोलें app/etc/di.xmlऔर virtualType name="developerMaterialization"अनुभाग ढूंढें। उस अनुभाग में आपको एक आइटम मिलेगा, name="view_preprocessed"जिसे संशोधित या हटाना होगा। आप से सामग्री को बदलने के द्वारा संशोधित कर सकते हैं Magento\Framework\App\View\Asset\MaterializationStrategy\Symlinkकरने के लिएMagento\Framework\App\View\Asset\MaterializationStrategy\Copy

  2. किसी भी मौजूदा सिमलिंक से छुटकारा पाने के लिए पब / स्टेटिक के तहत फाइलें हटाएं। आप .htaccessफ़ाइल को हटाने के लिए नहीं सावधान रहना चाहते हो सकता है ।

यह आपकी त्रुटि को सिमलिंक से हल करना चाहिए।


2
बस पब / स्टेटिक फ़ोल्डर को हटाने से मेरे लिए काम किया।
एडम मॉस

4
मेरे मामले में पब / स्थिर सामग्री को हटाना पर्याप्त नहीं है। मैं ऊपर के जवाब में उल्लेख के रूप में कॉपी करने के लिए Symlink बदल गया था। त्वचा लोड हो रहा है ठीक है!
हैजेरोम

2
एक जादू की तरह काम किया...!!!!
नीरज गर्ग

2
यह मेरे लिए काम नहीं करता था, / पब / स्टैटिक फोल्डर को डिलीट भी नहीं करता था। कोई अन्य विचार?
goncalotomas

2
मेरे लिए काम नहीं कर रहा है :-(
अलाए एम। जादौ

7

मैंने इस समस्या का सामना किया और यह पता लगाने की कोशिश की। मैं क्रिस ओ'टोल से सहमत हूं। मैं अतिरिक्त कदम जोड़ूंगा। मेरे कदम हैं,

  1. ओपन ऐप / etc / di.xml और सर्च सिम्लिंक। जाँच करें यह निम्नलिखित अनुभाग में है।
<virtualType name="developerMaterialization" type="Magento\Framework\App\View\Asset\MaterializationStrategy\Factory">
                <arguments>
                    <argument name="strategiesList" xsi:type="array">
                        <item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
                        <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
                    </argument>
                </arguments>
            </virtualType>

कॉपी वर्ड के साथ सिंबल को बदलें। बचाना।

  1. पब / स्टेटिक में सभी फ़ोल्डर हटाएं। .Htaccess और अन्य फ़ाइलों को न हटाएं।

  2. व्यवस्थापक के रूप में xampp चलाएँ। प्रशासक के रूप में कमांड लाइन चलाएं। भागो grunt exec:<theme name>

यहाँ छवि विवरण दर्ज करें

आप देखेंगे कि यह ठीक चल रहा है।

तब तुम दौड़ सकते हो grunt less:<theme name>

यहाँ छवि विवरण दर्ज करें

अंत में आप दौड़ सकते हैं grunt watch

यहाँ छवि विवरण दर्ज करें

जब आप कम फ़ाइलों (_theme.less या _extend.less) में कोई भी परिवर्तन करते हैं, तो यह स्वतः ही पब / स्टैटिक फ़ोल्डर में स्टाइल-एल और स्टाइल-एम सीएसएस फाइलें बनाएगा।

मैं windows 10 में magento 2.1 चला रहा हूं।


वास्तव में हमें पहले कदम की जरूरत नहीं है।
चा

2

Magento के इन नई स्टैटिक फ़ाइलों को बनाने के बाद फ़ाइल अनुमतियों को अपडेट करना याद रखें। वे www-data के स्वामित्व में नहीं हैं, इसलिए वे 404 देंगे।


1

मेरे मामले में यह क्योंकि मेरी नहीं था app/etc/di.xmlथा Magento\Framework\App\View\Asset\MaterializationStrategy\Symlinkके रूप में @Chrish द्वारा उल्लेख किया है। ऐसा इसलिए था क्योंकि मेरे एक मॉड्यूल में मेरी .phtmlफ़ाइल में स्क्रिप्ट त्रुटि थी । मैं .phtmlफ़ाइल में आपके कोड की जाँच करने की सलाह दूंगा। मेरे मामले में यह मेरी स्क्रिप्ट फ़ाइल में सुधार करके हल किया गया था initialize.phtml


0

मैंने पब / स्टेटिक और var / फ़ोल्डरों के लिए mod_php के साथ अपाचे के लिए सही अनुमति का उपयोग करना महत्वपूर्ण पाया। एलन स्टॉर्म लेख से http://alanstorm.com/magento_2_adding_frontend_files_to_your_odule

find /path/to/magento2/pub/static -exec chmod 777 '{}' +
find /path/to/magento2/var/ -exec chmod 777 '{}' + 

आपको सर्वर टर्मिनल में उस पर अमल करना चाहिए। स्क्रिप्ट और छवियों के लिए मुझे 404 त्रुटि मिली।

ps लेकिन वह लिनक्स के लिए है।


आप यह भी कर सकते हैंchmod -R 777 /path/to/magento2/pub/static /path/to/magento2/var
निक। पियानो

0

मुझे लगता है कि ऐसा करने का उचित तरीका कमांड लाइन से है: सीडी आपके मैग्नेटो डायरेक्टरी में है और निम्नलिखित कमांड रन करें:

php bin/magento setup:static-content:deploy

खाली var/cacheनिर्देशिका और जाँच करें।


0

के तहत सभी फ़ाइलों को हटा दिया गया pub/static/*। जब आप कोई पृष्ठ लोड करते हैं तो Magento आपके लिए स्थैतिक फ़ाइलें जनरेट करेगा।


0

आपको प्रशासक के रूप में Xampp (Apache, nginx) आदि को चलाना होगा ताकि इसे Windows के अंतर्गत Symlinks बनाने की अनुमति मिल सके (Windows 10 के साथ परीक्षण किया गया)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.