Come posso impostare la modalità sviluppatore in Magento 2


44

Sto cercando di installare Magento 2 ma sto riscontrando il seguente errore:

Errore durante l'esecuzione dell'applicazione. Impossibile scrivere il messaggio di errore nel registro. Utilizzare la modalità sviluppatore per visualizzare il messaggio.

Ho provato ad aggiungere SetEnv MAGE_MODE developera .htaccessquanto consigliato da Alan Tempesta http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-mode ma senza fortuna.


Stai usando apache o nginx? Come hai impostato esattamente la variabile ambientale?
user487772

@ Tim Sto usando Apache. L'ho impostato aggiungendolo in cima al .htaccess
Paul Donnelly

Aggiungere cosa? Aggiungi tutte queste informazioni alla tua domanda.
user487772

Devi essere mod_envabilitato per Apache e AllowOverride Onnella configurazione del tuo vhost per .htaccesspoter essere analizzato.
benmark

Risposte:


75

puoi abilitarlo dal cli

bin/magento deploy:mode:set developer


30

Un altro modo, possiamo abilitare la modalità sviluppatore

  • Vai app/etc/e aprienv.php
  • e cambia la modalità di applicazione corrente da MAGE_MODE' => 'default' aMAGE_MODE' => 'developer'

Quindi, svuota la cache


18

Come tu e altri avete notato:

SetEnv MAGE_MODE "developer"

nel tuo file .htaccess dovrebbe abilitare la modalità sviluppatore supponendo che AllowOverride All sia nella <Directory>direttiva corretta .

Relativo al problema originale, tuttavia, potrebbe essere dovuto a un problema di autorizzazioni in cui l'utente del processo Apache non dispone delle autorizzazioni di scrittura per le directory giuste.

Per un test rapido, puoi fare quanto segue nella tua directory Magento 2:

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

Quindi, se viene visualizzata la procedura guidata di installazione, puoi provare ad avere le autorizzazioni corrette per il tuo processo Apache su quelle directory.


1
Mentre è ancora possibile sovrascrivere la modalità utilizzando le variabili di ambiente, il metodo preferito è ora quello di utilizzare bin/magento. Vedi devdocs.magento.com/guides/v2.0/config-guide/bootstrap/… e devdocs.magento.com/guides/v2.0/config-guide/cli/…
Fabian Schmengler

8

Stai usando mod_fastcgi + php-fpm? Mi sono imbattuto in questo problema come in quell'ambiente. La variabile d'ambiente stava ricevendo il prefisso "REDIRECT_".

Domanda correlata sullo scambio di stack qui: Apache SetEnv antepone REDIRECT_. Cosa dà?

Sono stato in grado di risolverlo semplicemente impostando la variabile di ambiente nel file di configurazione del pool php-fpm:

env[MAGE_MODE] = developer

8

Per cambiare la modalità magento 2.0 devi eseguire questo comando php bin/magento deploy:mode:set developerin CMD o nelle finestre SSH nella cartella principale di magento 2.0. Maggiori informazioni puoi trovare qui e qui .


5

Vai alla cartella principale di Magento dal prompt dei comandi ed esegui il comando seguente:

php bin/magento deploy:mode:set developer


4

Se stai usando il web server integrato in PHP 5.4 devi impostare ENV quando avvii il server:

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

Per ulteriori informazioni su come utilizzare il webserver integrato di PHP 5.4, inclusa l'installazione di Magento 2, vedere questo screencast:

http://quick.as/kkbahnlx


4

Prova aggiungendo la seguente riga all'interno di index.php nel file iniziale.

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

Spero che vedrai il messaggio di errore.


4
Altamente scoraggiare per modificare file core come ilindex.php
7ochem

1
Credo che questo dovrebbe essere fuori dal pronti contro termine in entrambi i casi, quindi una volta cambiato su locale non farà davvero troppo male.
Maciej Paprocki,

4

Ciao, ho letto la tua domanda e per favore vedi la soluzione.

È possibile impostare la modalità sviluppatore tramite il comando CLI e anche manualmente

Per impostarlo manualmente:

apri la directory principale di magento 2, apri il file "/app/etc/env.php"e cerca "'MAGE_MODE' =>". puoi cambiare la modalità magento qui manualmente.

Comando CLI per modalità di produzione:

magento deploy:mode:set production

Comando CLI per la modalità sviluppatore:

magento deploy:mode:set developer

per ulteriori informazioni, visitare l'URL seguente. http://php-scripts-form.blogspot.nl/2017/09/magento-2-how-to-set-production-mode.html


Come posso vedere la modalità prima di cambiarla?
Razvan Zamfir,

@RazvanZamfir è possibile utilizzare deploy:mode:showper vedere la modalità corrente.
Eric Seastrand,

3

Se si utilizza NginX come server Web ... .htaccess non influirà. La modifica delle direttive del server NginX abiliterà la modalità sviluppatore.

ad esempio: /etc/nginx/sites-available/m2_test.conf(Supponendo che nginx sia configurato correttamente)

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

Questo set $ MAGE_MODE attiva la modalità sviluppatore.

other / configurations / file.conf dovrebbe essere collegato al percorso del file di configurazione che dovrebbe essere una copia di[MAGENTO_DOC_ROOT]/nginx.conf.sample

Come altri hanno già detto, php bin/magento deploy:mode:set developerlo consentirà anche


devo impostare la modalità sviluppatore sia in nginx conf che dalla console magento? Cosa succede se uno è sviluppatore e una produzione?
LucScu,

3

Quando si passa dalla modalità di produzione a quella di sviluppo, è necessario cancellare le classi generate e le entità di Object Manager come proxy per prevenire errori imprevisti. Dopo averlo fatto, puoi cambiare modalità. Utilizzare i seguenti passaggi:

  1. Se stai passando dalla modalità di produzione alla modalità sviluppatore, elimina il contenuto delle directory var / generation e var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/* 
  2. Imposta la modalità:

    magento deploy:mode:set developer

Verrà visualizzato il seguente messaggio

   Switched to developer mode.

0

assicurati di dare il permesso

sudo chmod 777 . -R

dopo di che

php bin/magento deploy:mode:set developer

altrimenti permesso negato


0

Secondo DEVDOCS ecco la soluzione per te.

Se si passa dalla modalità di produzione alla modalità sviluppatore, è necessario cancellare tutte le classi e gli oggetti generati.

Eseguire questa riga di codice nell'interfaccia della riga di comando per eliminare il contenuto del codice generato e delle directory dei metadati generati.

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

Per impostare la modalità

$bin / magento deploy : mode : set developer

Dopo aver eseguito questo comando, verrà visualizzato un messaggio su Abilita la modalità sviluppatore

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.