Magento 2 डस्ट की स्थानीय स्थापना पब / स्टैटिक फ़ोल्डर में फाइलें उत्पन्न नहीं करती है


15

मैंने अभी-अभी मैग्नेट 2 कम्युनिटी एडिशन को सैंपल डेटा (उनकी वेबसाइट से डाउनलोड किया गया है और कंपोजर के साथ इंस्टॉल नहीं किया गया है) को MAMP के माध्यम से स्थानीय स्तर पर स्थापित किया है। स्थापना प्रक्रिया संक्षिप्त थी, लेकिन .htaccess को छोड़कर पब / स्टेटिक फ़ोल्डर की सभी फाइलें गायब हैं। इसका मतलब है कि सभी सीएसएस, जेएस आदि फ्रंटएंड और बैकएंड दोनों के लिए 404 लौटाते हैं।

मैंने कई घंटे बिताए हैं बिना किस्मत के इसे ठीक करने की कोशिश में। यह वही है जो मैंने अब तक किया है:

  • बदली गई Options Indexes FollowSymLinks AllowOverride/MAMP/conf/apache/httpd.conf में 'सभी' पर 'कोई नहीं' से और पुन: प्रारंभ MAMP
  • सुनिश्चित करें कि LoadModule rewrite_module modules/mod_rewrite.sohttpd.conf में अपूर्ण है
  • MAMP में एक विकास डोमेन (magento.dev) सेट करें
  • php bin/magento setup:static-content:deployटर्मिनल का उपयोग करते हुए magento.dev रूट में चलने की कोशिश की । हालांकि यह रिटर्न:

घातक त्रुटि: कक्षा 64 पर लाइन / लोकेशन / MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php में नहीं मिला

  • RewriteBase /Magento.dev रूट डायरेक्टरी में .htaccess-file में Uncommented और बदला हुआ ReriteBase।
  • Magento को विकास मोड में सेट करें
  • कैश को मैन्युअल रूप से साफ़ करना और php bin/magento setup:static-content:deployफिर से चलाना

अधिकांश गाइड और फ़ोरम पोस्ट मुझे चलाने के लिए कहते हैं: php bin/magento setup:static-content:deployलेकिन मुझे यकीन नहीं है, अगर मैं इसे सही तरीके से कर रहा हूं।

OS: OSX 10.11.2

MAMP संस्करण: 3.5

PHP संस्करण: 7.0

अपाचे संस्करण: 2.4.16

MySQL संस्करण: 5.6.25

किसी भी सहायता की सराहना की जाएगी।


मैं 2.2.2 पर CentOS सर्वर पर स्थापित हूं। इस पेज पर कुछ भी काम नहीं करता है। किसी भी स्टाइल के लिए मुझे दौड़ना होगा php bin/magento setup:static-content:deploy -f और 80 सेकंड तक इंतजार करना होगा ।
क्रिस के

जवाबों:


15

समाधान # 1 (यदि आप XML फ़ाइल को संपादित करना चाहते हैं)

मैं चाहूंगा कि आप Magento 2 ज़िप को डाउनलोड करें magentocommerce.com/download, phpmyadmin में नई db बनाएं , htdocs फ़ोल्डर में ज़िप निकालें । Magento 2 स्थापित करें, लेकिन स्टोर URL और व्यवस्थापक URL में 127.0.0.1 का स्थानीय उपयोग न करें । सफल स्थापना के बाद Magento चलाएं।

अब हम Magento 2 के कैश और सत्रों को हटाने / हटाने जा रहे हैं। निम्नलिखित रास्तों पर जाएं और सबकुछ हटा दें:

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

जब Magento 2 उत्पादन मोड में नहीं है, तो यह स्थानीय सर्वर पर कुछ स्थिर संसाधनों के लिए सिम्बल बनाने की कोशिश करेगा। हमें एडिट ROOT > app > etc > di.xmlफ़ाइल में जाकर Magento 2 के उस व्यवहार को बदलना होगा । di.xmlअपने पसंदीदा कोड संपादक में खोलें , virtualType name="developerMaterialization"अनुभाग ढूंढें। नीचे उस अनुभाग में, आपको एक आइटम मिलेगा <item name="view_preprocessed" xsi:type="object">जिसे संशोधित करने की आवश्यकता है। आप निम्नलिखित सामग्री को बदलकर इसे संशोधित कर सकते हैं:

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

सेवा:

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

अब अंतिम चरण, में उत्पन्न पुरानी फ़ाइलों को भी हटा दें ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS

मैंने व्यक्तिगत रूप से MAMP, EasyPHP DevServer, Xampp और Wampp का उपयोग करके और सफलतापूर्वक Magento 2 का उपयोग करके अपने लोकलहोस्ट पर इसे आज़माया। आगे के लिए आप इस लिंक को देख सकते हैं: Magento 2 CSS और JavaScript सही फ़ोल्डर से लोड नहीं हो रहे हैं

समाधान # 2

संगीतकार स्थापित करें। अब मैं आपसे Magento के 2 ज़िप डाउनलोड करने magentocommerce.com/download, phpmyadmin में नए db बनाने , hosocs फ़ोल्डर में ज़िप निकालने के लिए चाहूँगा । Magento 2 स्थापित करें, लेकिन स्टोर URL और व्यवस्थापक URL में 127.0.0.1 का स्थानीय उपयोग न करें । सफल स्थापना के बाद Magento चलाएं।

अब हम कम्पोज़र इंस्टॉलेशन को सत्यापित करने जा रहे हैं, स्टैटिक कंटेंट, क्लियर / फ्लश मैगेंटो कैश को डिपॉजिट करें और मैगेंटो 2 ब्लॉक्स को रिवाइंड करें। उपरोक्त सभी कार्य करने के लिए, RUN डायलॉग खोलने के लिए WINDOWS KEY + R दबाएँ और कमांड प्रॉम्प्ट खोलने के लिए "cmd" टाइप करें।

Magento 2 ROOT निर्देशिका में प्रवेश करने के लिए " cd PATH_TO_YOUR_MAGENTO2_FILES " टाइप करें।

अब उपरोक्त निर्देशिका में कम्पोज़र इंस्टॉलेशन को सत्यापित करने के लिए, " कंपोज़र इंस्टॉल " टाइप करें ।

यदि आपको इस चरण में कोई त्रुटि मिलती है, तो कृपया अपने कंपोज़र इंस्टालेशन की जाँच करें

इस चरण में, हम अपने Magento स्टोर पर तैनात करने के लिए स्थैतिक सामग्री सेट कर रहे हैं। यह करने के लिए, टाइप करें " php bin / magento setup: static-content: तैनात "।

यदि आपको कोई त्रुटि मिलती है, तो अपने PHP.EXE और PHP.INI पर्यावरण चर की जाँच करें

CMD में " php bin / magento cache: flush " टाइप करके क्लियर / फ्लश मैगेंटो कैश ।

और अंत में, Reindex Magento स्टैटिक ब्लॉक " php bin / magento indexer: reindex " टाइप करें ।

आप Magento 2 की सफल स्थापना के साथ किया जाता है।


उत्तर संपादित किया गया है।
फैयाज खट्टक

Greate! मैंने 1 समाधान की कोशिश की और यह मेरे लिए काम करता है .. धन्यवाद खटक एसबी
मुहम्मद अज़ीम

आपका स्वागत है @MuhammadAzeem
फय्याज खट्टक

@RajKhoury आपका स्वागत है!
फय्याज खट्टक

समाधान 1 मेरे लिए काम करता है! बहुत बहुत धन्यवाद !!
डैनियल सिल्वा

5

नीचे कमांड चलाने की कोशिश करें

php bin/magento setup:static-content:deploy

और अगर यह कमांड चलाते समय कोई त्रुटि देता है, जैसे कि फ़ाइल पहले से ही गायब है, तो अपनी प्रोजेक्ट फ़ाइल संरचना की तुलना नई magento2फ़ाइल संरचना से करें। अगर आपके प्रोजेक्ट में कोई फाइल गायब है तो उपयुक्त फाइल को अपने प्रोजेक्ट में कॉपी करें।

और अगर आपको कोई और त्रुटि मिली है तो अपने प्रश्न में त्रुटि पोस्ट करें ताकि कोई आपके प्रश्न का उत्तर दे सके।


त्वरित प्रतिक्रिया के लिए धन्यवाद। वह में स्वयं कर लूँगा। मैं वास्तव में कहां और कैसे इस कमांड को चलाता हूं?
स्कोवसगार्ड

@Skovsgaard आप अपने टर्मिनल से इस कमांड को चला सकते हैं, लेकिन सुनिश्चित करें कि आप टर्मिनल से magento2 डायरेक्टरी में हैं
शाह

ऐसा लगता है जैसे कोई फाइल गायब नहीं है। इंस्टॉल किए गए मैगनेटो में स्पष्ट रूप से अधिक फाइलें शामिल हैं जो कि स्थापना प्रक्रिया से संबंधित हैं। मुझे यह त्रुटि मिलती है: रूट डायरेक्टरी में Fatal error: Class 'Locale' not found in /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64चलने के बाद php bin/magento setup:static-content:deploy
स्कोव्सगार्ड

मैं वास्तव में मददगार नहीं था। माफ़ करना।
स्कोव्सगार्ड

2

ऐसा प्रतीत होता है कि intlएक्सटेंशन php के कंसोल संस्करण में लोड नहीं हुआ है। कृपया सत्यापित करें कि आप एपीपी और पीएचपी के क्ली संस्करण के लिए एक ही संस्करण / सेटिंग्स का उपयोग करते हैं।

MacOsX ने php का संस्करण और कुछ संकुल स्थापित किए हैं जो php को स्थापित करते हैं, टर्मिनल सत्र के लिए सिमलिंक को नहीं बदलते हैं। परिणामस्वरूप, आपके पास एक ही समय में php के विभिन्न संस्करण स्थापित हो सकते हैं।

पुनश्च: मैं मैक ओएस पर योनि का उपयोग करने का प्रस्ताव करता हूं। यदि फ़ाइल साझाकरण के लिए nfs का उपयोग करें तो यह बहुत अच्छा काम कर रहा है


अहा! पूर्वस्थापित php (cli) केवल 5.5.30 है। प्रीइंस्टॉल्ड अपाचे 2.4.16 है (मुझे नहीं पता कि एमएएमपी के अपाचे-वर्जन को कैसे चेक किया जाए अगर एमएएमपी भी अपाचे को अलग से इंस्टॉल करता है)। तो मुझे पहले से इंस्टॉल किए गए संस्करण को 7 में अपडेट करना होगा और इंटल एक्सटेंशन (क्ली या मैम्प?) भी इंस्टॉल करना होगा? मेरी तरह एक noob के लिए भी वैग्रंट बहुत उन्नत लगता है।
स्कोव्सगार्ड 11

मैं मैक-विशिष्ट प्रश्नों का उत्तर नहीं दे सकता हूं, लेकिन आपके PHP संस्करण की जांच करने के लिए कम से कम दो तरीके हैं: php -v(जो दिखाता है कि कौन से संस्करण PHP कमांड्स के रूप में चलते हैं) और phpinfo.php का उपयोग करके , जो दिखाता है कि PHP का कौन सा संस्करण वेब सर्वर चलाता है।
स्टीव जॉनसन

ठीक है, इसलिए MAMP PHP 7 और Apache 2.2.29 चलाता है। मेरी स्थानीय मशीन PHP 5.5.30 और अपाचे 2.4.16 चलाती है। तो अगला कदम स्थानीय मशीन के PHP को 7 में अपडेट करना है?
स्कोवसागार्ड

कृपया php7 बाइनरी के लिए पूर्ण पथ का उपयोग करने की कोशिश करें
KAndy

2

यदि अन्य सभी विफल हो जाते हैं, तो इन निर्देशिकाओं को प्रीइन करें:

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

यह काम करेगा अगर आप उन dirs में टूटी हुई सहानुभूति प्राप्त कर चुके हैं।


1
.htaccess को कभी भी डिलीट नहीं किया जाना चाहिए। मैंने भी यह गलती की और घंटों बर्बाद किया
ताहिर यासीन

1

clear page_cache, di, view_process, cache

फिर फ़ोल्डर्स और फ़ाइलों को उचित अनुमति दें।

फिर php bin/magento setup:static-content:deployअपने रूट फ़ोल्डर से चलाएं ।

पब / स्टेटिक की जाँच करें।

उम्मीद है इससे आपको मदद मिलेगी।


मैं कहां और कैसे दौड़ूं clear page_cache, di ,view_process, cache? इसकी एक स्थानीय स्थापना, इसलिए मेरे कंप्यूटर के व्यवस्थापक सुपर के रूप में मेरे पास सभी अनुमतियां पढ़ने / लिखने की अनुमति हैं। क्या ऐसी कोई अन्य अनुमति है जिसकी मुझे जानकारी नहीं है?
स्कोव्सगार्ड

यदि आप रूट-फोल्डर को पूर्ण अनुमति देने के बजाय स्थानीय उपयोग कर रहे हैं
vachhani

सभी फ़ोल्डर्स var / clear सभी फ़ोल्डर्स में होते हैं और फ़ोल्डर को पूर्ण अनुमति देते हैं।
वंचनी

1

क्या आपने Magento2 निर्देशिका में स्थापित composerऔर चलाया composer initहै? यदि नहीं, तो इसे आजमाएंphp bin/magento setup:static-content:deploy


संगीतकार मेरी मशीन पर स्थापित है, हाँ, लेकिन मैंने इसका उपयोग Magento 2 को स्थापित करने के लिए नहीं किया है। मैंने बस उनकी वेबसाइट से .zip डाउनलोड किया है, अनपैक किया और स्थापित किया। अगर मैं composer initकंपोज़र चलाता हूं तो मुझसे कंपोज़र.जॉन कॉन्फिगरेशन सेट करने के लिए कहता है, इसलिए मुझे लगता है कि इससे कोई मदद नहीं मिलेगी।
स्कोव्सगार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.