Como definir o Modo de desenvolvedor no Magento 2

44

Estou tentando instalar o Magento 2, mas estou recebendo o seguinte erro:

Ocorreu um erro durante a execução do aplicativo. Não foi possível gravar a mensagem de erro no log. Por favor, use o modo de desenvolvedor para ver a mensagem.

Eu tentei adicionar SetEnv MAGE_MODE developera .htaccesscomo aconselhado por Alan Storm http://magento-quickies.alanstorm.com/post/58757471044/magento-2-developer-mode mas sem sorte.

Paul Donnelly
fonte
Você está usando apache ou nginx? Como exatamente você definiu a variável ambiental?
precisa saber é o seguinte
@ Tim Estou usando o Apache. Eu defini-lo adicionando-o para o topo da .htaccess
Paul Donnelly
Adicionando o que? Adicione todas essas informações à sua pergunta.
precisa saber é o seguinte
Você precisará ter mod_envhabilitado o Apache e AllowOverride Onna configuração do vhost .htaccesspara ser analisado.
benmarks 14/01

Respostas:

75

você pode habilitá-lo a partir do CLI

bin/magento deploy:mode:set developer

Oshan Rube
fonte
30

Outra maneira, podemos ativar o modo de desenvolvedor

  • Ir app/etc/e abrirenv.php
  • e altere o modo de aplicativo atual MAGE_MODE' => 'default' paraMAGE_MODE' => 'developer'

Em seguida, limpe o cache

Amit Bera
fonte
18

Como você e outros observaram:

SetEnv MAGE_MODE "developer"

no seu arquivo .htaccess deve ativar o modo de desenvolvedor, assumindo que AllowOverride All esteja na <Directory>diretiva apropriada .

Porém, relacionado ao seu problema original, pode ser devido a um problema de permissões, em que o usuário do processo Apache não possui permissões de gravação nos diretórios corretos.

Para um teste rápido, você pode fazer o seguinte dentro do diretório Magento 2:

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

Então, se o assistente de instalação aparecer, você poderá tentar garantir as permissões corretas para o processo do Apache nesses diretórios.

Bryant Luk
fonte
1
Embora ainda seja possível substituir o modo usando variáveis ​​de ambiente, o método preferido agora é usar bin/magento. Veja devdocs.magento.com/guides/v2.0/config-guide/bootstrap/… e devdocs.magento.com/guides/v2.0/config-guide/cli/…
Fabian Schmengler
8

Você está usando mod_fastcgi + php-fpm? Eu me deparei com esse problema como naquele ambiente. A variável de ambiente estava sendo prefixada com "REDIRECT_".

Pergunta relacionada sobre troca de pilhas aqui: O Apache SetEnv precede REDIRECT_. O que da?

Consegui resolver isso definindo a variável de ambiente no arquivo de configuração do pool php-fpm:

env[MAGE_MODE] = developer
beeplogic
fonte
8

Para mudar o modo magento 2.0, você deve executar este comando php bin/magento deploy:mode:set developerno CMD ou nas janelas SSH na pasta raiz do magento 2.0. Mais informações você encontra aqui e aqui .

Vasilii Burlacu
fonte
5

Vá para a pasta raiz do magento no prompt de comando e execute abaixo do comando:

php bin/magento deploy:mode:set developer

Sheshgiri Anvekar
fonte
4

Se você estiver usando o servidor da web embutido no PHP 5.4, precisará definir o ENV ao iniciar o servidor:

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

Para mais informações sobre como usar o servidor da web embutido no PHP 5.4, incluindo a configuração do Magento 2, consulte este screencast:

http://quick.as/kkbahnlx

philwinkle
fonte
4

Por favor, tente adicionar a seguinte linha dentro de index.php no arquivo inicial.

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

Espero que você veja a mensagem de erro.

satish-a
fonte
4
Eu altamente desencorajar a arquivos principais editar como oindex.php
7ochem
1
Acredito que isso deva ficar fora do repositório de qualquer maneira, portanto, uma vez que você o altere no local, não será muito ruim.
Maciej Paprocki
4

Olá, li a sua pergunta e consulte a solução.

Você pode definir o modo de desenvolvedor por comando da CLI e também manualmente

Para configurá-lo manualmente:

abra seu diretório raiz do magento 2, abra arquivo "/app/etc/env.php"e pesquise "'MAGE_MODE' =>". você pode alterar o modo magento aqui manualmente.

Comando da CLI para o modo de produção:

magento deploy:mode:set production

Comando da CLI para o modo desenvolvedor:

magento deploy:mode:set developer

para mais informações, visite o URL abaixo. http://php-scripts-form.blogspot.nl/2017/09/magento-2-how-to-set-production-mode.html

puneek00
fonte
Como posso ver o modo antes de alterá-lo?
precisa
@RazvanZamfir você pode usar deploy:mode:showpara ver o modo atual.
Eric Seastrand
3

Se você estiver usando o NginX como servidor da Web ... o .htaccess não afetará. Alterar as diretivas do servidor NginX ativará o modo de desenvolvedor.

por exemplo: /etc/nginx/sites-available/m2_test.conf(Supondo que o nginx esteja configurado corretamente)

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

Este conjunto $ MAGE_MODE ativará o modo de desenvolvedor.

other / configurations / file.conf deve vincular ao caminho do arquivo de configurações, que deve ser uma cópia do[MAGENTO_DOC_ROOT]/nginx.conf.sample

Como outros já mencionaram, php bin/magento deploy:mode:set developertambém permitirá

Dilhan Maduranga
fonte
tenho que definir o modo de desenvolvedor no nginx conf e no console magento? O que acontece se um é desenvolvedor e uma produção?
LucScu
3

Ao mudar do modo de produção para o desenvolvedor, você deve limpar as classes geradas e as entidades do Gerenciador de Objetos, como proxies, para evitar erros inesperados. Depois de fazer isso, você pode alterar os modos. Use as seguintes etapas:

  1. Se você estiver mudando do modo de produção para o modo de desenvolvedor, exclua o conteúdo dos diretórios var / generation e var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/* 
  2. Defina o modo:

    magento deploy:mode:set developer

A seguinte mensagem será exibida

   Switched to developer mode.
Manish
fonte
0

certifique-se de dar permissão

sudo chmod 777 . -R

depois disso

php bin/magento deploy:mode:set developer

caso contrário, permissão negada

wan
fonte
0

Conforme DEVDOCS, aqui está a solução para você.

Se você estiver mudando do modo de produção para o modo de desenvolvedor, precisará limpar todas as classes e objetos gerados.

Execute esta linha de código na CLI para excluir o conteúdo dos Diretórios de Código Gerado e Meta Dados Gerados.

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

Para definir o modo

$bin / magento deploy : mode : set developer

Depois de executar este comando, ele exibirá uma mensagem sobre o Modo Ativador do Desenvolvedor

Henry Roger
fonte