मैं Magento 2 में डेवलपर मोड कैसे सेट करूं


44

मैं Magento 2 को स्थापित करने की कोशिश कर रहा हूं, लेकिन मुझे निम्नलिखित त्रुटि मिल रही है:

आवेदन चलाने के दौरान त्रुटि हुई। लॉग करने के लिए त्रुटि संदेश नहीं लिख सका। संदेश देखने के लिए कृपया डेवलपर मोड का उपयोग करें।

मैं जोड़ने की कोशिश की है SetEnv MAGE_MODE developerकरने के लिए .htaccessके रूप में की सलाह के अनुसार एलन तूफान http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-mode लेकिन कोई भाग्य।


क्या आप अपाचे या नगनेक्स का उपयोग कर रहे हैं? आपने वास्तव में पर्यावरण चर कैसे निर्धारित किया?
बजे user487772

@ समय मैं अपाचे का उपयोग कर रहा हूं। मैंने इसे .htaccess के शीर्ष पर जोड़कर सेट किया है
पॉल डनली

क्या जोड़ना? कृपया इस सभी जानकारी को अपने प्रश्न में जोड़ें।
user487772

आपको mod_envअपाचे और पार्स होने के AllowOverride Onलिए अपने vhost कॉन्फ़िगरेशन में सक्षम होना पड़ेगा .htaccess
19

जवाबों:



30

दूसरा तरीका, हम डेवलपर मोड को सक्षम कर सकते हैं

  • गोटो app/etc/और खुलाenv.php
  • और द्वारा वर्तमान आवेदन मोड बदलने MAGE_MODE' => 'default' के लिएMAGE_MODE' => 'developer'

फिर, कैश फ्लश करें


18

जैसा कि आपने और दूसरों ने नोट किया है:

SetEnv MAGE_MODE "developer"

आपकी .htaccess फ़ाइल में डेवलपर मोड को यह मानते हुए सक्षम करना चाहिए कि AllowOverride All उचित <Directory>निर्देशन में है।

यद्यपि आपकी मूल समस्या से संबंधित है, यह एक अनुमति समस्या के कारण हो सकता है जहां Apache प्रक्रिया उपयोगकर्ता के पास सही निर्देशिकाओं के लिए लिखने की अनुमति नहीं है।

एक त्वरित परीक्षण के लिए, आप अपनी Magento 2 निर्देशिका के अंदर निम्नलिखित कर सकते हैं:

chmod -R a+wX var
chmod -R a+wX app/etc
chmod -R a+wX pub

फिर यदि इंस्टॉलेशन विज़ार्ड पॉप अप होता है, तो आप यह सुनिश्चित करने की कोशिश कर सकते हैं कि आपके पास उन निर्देशिकाओं पर अपाचे प्रक्रिया के लिए सही अनुमति है।


1
हालांकि पर्यावरण चर का उपयोग करके मोड को ओवरराइड करना अभी भी संभव है, पसंदीदा तरीका अब उपयोग करना है bin/magento। देखें devdocs.magento.com/guides/v2.0/config-guide/bootstrap/... और devdocs.magento.com/guides/v2.0/config-guide/cli/...
फैबियन Schmengler

8

क्या आप mod_fastcgi + php-fpm का उपयोग कर रहे हैं? मैं उस माहौल में इस मुद्दे पर भाग गया। पर्यावरण चर "REDIRECT_" के साथ उपसर्ग कर रहा था।

स्टैक एक्सचेंज पर संबंधित प्रश्न यहां: Apache SetEnv REDIRECT_ को प्रस्तुत करता है। क्या देता है?

मैं इसे php-fpm पूल कॉन्फ़िगरेशन फ़ाइल में पर्यावरण चर को सेट करके हल करने में सक्षम था:

env[MAGE_MODE] = developer

8

Magento 2.0 मोड को बदलने के लिए आपको इस कमांड php bin/magento deploy:mode:set developerको CMD या अपने SSH विंडो को magento 2.0 रूट फ़ोल्डर में चलाना होगा । अधिक जानकारी आप यहां और यहां पा सकते हैं ।



4

यदि आप PHP 5.4 में अंतर्निहित वेब सर्वर का उपयोग कर रहे हैं, तो सर्वर शुरू करते समय आपको ENV सेट करने की आवश्यकता है:

MAGE_MODE=developer php -d variables_order=EGPCS -S 127.0.0.1:8080 router.php

Magento 2 के सेटअप सहित PHP 5.4 के अंतर्निहित वेबसर्वर का उपयोग करने के तरीके के बारे में अधिक जानकारी के लिए, यह देखें:

http://quick.as/kkbahnlx


4

कृपया शुरुआत फ़ाइल में index.php के अंदर निम्नलिखित पंक्ति जोड़कर देखें।

$_SERVER['MAGE_MODE'] = 'developer';

आशा है कि आप त्रुटि संदेश देखेंगे।


4
मैं अत्यधिक फाइलों को संपादित करने के लिए हतोत्साहित करूंगा जैसेindex.php
7ochem

1
मेरा मानना ​​है कि यह रेपो से बाहर होना चाहिए।
मैकीज पापरोकी

4

नमस्ते मैंने आपका प्रश्न पढ़ा है और कृपया समाधान देखें।

आप CLI कमांड द्वारा डेवलपर मोड सेट कर सकते हैं और मैन्युअल रूप से भी

इसे मैन्युअल रूप से सेट करने के लिए:

अपनी Magento 2 रूट डायरेक्टरी खोलें, फ़ाइल खोलें "/app/etc/env.php"और खोजें "'MAGE_MODE' =>"। आप यहाँ मैन्युअल रूप से Magento मोड बदल सकते हैं।

उत्पादन मोड के लिए CLI कमांड:

magento deploy:mode:set production

डेवलपर मोड के लिए CLI कमांड:

magento deploy:mode:set developer

अधिक जानकारी के लिए कृपया नीचे दिए गए URL पर जाएँ। http://php-scripts-form.blogspot.nl/2017/09/magento-2-how-to-set-production-mode.html


मैं इसे बदलने से पहले मोड को कैसे देख सकता हूं ?
रज़वान ज़म्फिर

@RazvanZamfir आप deploy:mode:showवर्तमान मोड को देखने के लिए उपयोग कर सकते हैं ।
एरिक सस्ट्रैंड

3

यदि आप वेब सर्वर के रूप में NginX का उपयोग कर रहे हैं ... .htaccess प्रभावित नहीं करेगा। NginX सर्वर निर्देशों को बदलने से डेवलपर मोड सक्षम हो जाएगा।

उदाहरण के लिए: /etc/nginx/sites-available/m2_test.conf(nginx ठीक से कॉन्फ़िगर किया गया है)

server {
   listen 80;
   server_name m2.test.com;
   set $MAGE_ROOT path/to/magento2;
   set $MAGE_MODE developer;
   include other/configurations/file.conf;
}

यह सेट $ MAGE_MODE डेवलपर मोड को चालू करेगा।

अन्य / विन्यास / file.conf विन्यास फाइल पथ से लिंक होना चाहिए जिसकी एक प्रति होनी चाहिए[MAGENTO_DOC_ROOT]/nginx.conf.sample

जैसा कि दूसरों ने उल्लेख किया है, php bin/magento deploy:mode:set developerयह भी सक्षम करेगा


क्या मेरे पास nginx conf और magento कंसोल से डेवलपर मोड सेट करने के लिए है? क्या होता है अगर एक डेवलपर और एक उत्पादन होता है?
LucScu

3

जब आप उत्पादन से डेवलपर मोड में बदलते हैं, तो आपको अनपेक्षित त्रुटियों को रोकने के लिए प्रॉक्सिज़ जैसे उत्पन्न वर्ग और ऑब्जेक्ट प्रबंधक संस्थाओं को साफ़ करना चाहिए। ऐसा करने के बाद, आप मोड बदल सकते हैं। निम्नलिखित चरणों का उपयोग करें:

  1. यदि आप उत्पादन मोड से डेवलपर मोड में बदल रहे हैं, तो var / जनरेशन और var / di निर्देशिकाओं की सामग्री हटा दें:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/* 
  2. मोड सेट करें:

    magento deploy:mode:set developer

निम्न संदेश प्रदर्शित किया जाएगा

   Switched to developer mode.

0

अनुमति देना सुनिश्चित करें

sudo chmod 777 . -R

उसके बाद

php bin/magento deploy:mode:set developer

अन्यथा अनुमति से इनकार कर दिया


0

DEVDOCS के अनुसार यहां आपके लिए समाधान है।

यदि आप उत्पादन मोड से डेवलपर मोड में बदल रहे हैं, तो आपको सभी उत्पन्न कक्षाओं और ऑब्जेक्ट को साफ़ करना होगा।

उत्पन्न कोड और उत्पन्न मेटा डेटा निर्देशिकाएँ की सामग्री को हटाने के लिए CLI में कोड की इस लाइन को चलाएं।

$rm rf <magento_root>/ generated/metadata/* <magento_root>/generated/code/*

मोड सेट करने के लिए-

$bin / magento deploy : mode : set developer

इस कमांड को चलाने के बाद यह Enables Developer Mode के बारे में एक संदेश प्रदर्शित करेगा

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