Como habilitar o Modo Desenvolvedor no Magento 1.7


20

Estou tentando ativar o Modo de desenvolvedor em um site usando o Magento 1.7. Até agora eu adicionei:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

para o .htaccessarquivo e:

...
if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
}
...

para o index.phparquivo conforme descrito aqui . Até removi a Ifcláusula, deixando apenas:

...
    Mage::setIsDeveloperMode(true);
...

no arquivo index.php. Mas ainda sem sorte. o que estou perdendo? O que devo fazer para ativar o Modo Desenvolvedor?


11
Ambos os métodos devem funcionar. O que você quer dizer com "ainda sem sorte"? O que acontece que faz você dizer que não funciona?
Marius

Respostas:


26

Tente o seguinte em seu index.phparquivo:

if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

Verifique também se você tem:

1. Desative o Sistema de cache > Gerenciamento de cache> Selecionar tudo [caixas de seleção]> Ações = Desativar> Enviar

2. Reindexar todo o sistema> Gerenciamento de índice> Selecionar tudo [caixas de seleção]> Ações = Reindexar dados> Enviar

3. Desativar sistema de compilação > Ferramentas> Compilação> Desativar

Nota: Por padrão, o modo de compilação está desativado. Portanto, verifique se o Status do compilador está ativado ou não.

4. Ative Sistema de Log > Configuração> Avançado> Desenvolvedor> Configurações de Log> Ativado => Sim


Mage :: setIsDeveloperMode (true); foi o bilhete. Felicidades.
Darth Egregious #

Eu faço qualquer coisa quando ativar ini_set ('display_errors', 1); seu trabalho
Saeed Darvish

9

Três coisas possíveis para verificar

  1. Você está editando o arquivo index.php/ errado.htaccess

  2. Você tem outro código personalizado no sistema que está desativando o modo de desenvolvedor

  3. Suas expectativas sobre o que o desenvolvedor faz estão incorretas (a descrição da incompatibilidade de expectativas pode ajudar as pessoas a depurar seu problema)


Obrigado Alan! 1. Os arquivos que estou editando estão localizados na raiz do documento. 2. O sistema é uma nova instalação do Magento, para que não seja um problema. 3. Estou esperando que erros apareçam na janela do navegador em vez de uma página em branco vazia, que estou recebendo. Minhas expectativas estão um pouco fora?
Fevind

Qual é o valor display_errors php ini? O que há nos logs de erro do servidor web?
Alan Storm

Os logs de erro dos servidores web são (é claro) o lugar para procurar! Obrigado por apontar isso! :) Os erros são sempre apresentados em uma página da web que não foi renderizada ou o Magento falha silenciosamente por design?
Fevind

1

Tente o seguinte no seu arquivo index.php: Move Mage :: setIsDeveloperMode (true); da condição If.


if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
    ini_set(’display_errors’, 1);
}

TO

Mage::setIsDeveloperMode(true); if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) { ini_set(’display_errors’, 1); }


0

Também pode ser devido ao redirecionamento do servidor.

Por favor, verifique a saída do phpinfo e verifique a $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']variável também.

Explicação:

Se você está trabalhando com o módulo Apache mod_rewrite e deseja definir alguns vars de ambiente, o manual do Apache diz que esses vars podem ser acessados ​​no CGI usando $ENV{VAR}. Em PHP, você pode querer escrever $_ENV['VAR']para obter o valor de VAR, mas é necessário acessar se via $_SERVERe de algumas maneiras diferentes:

  1. Exemplo: .htaccess e exemplo.php

RewriteEngine on RewriteRule ^? Var1 = ([^;] ); var2 = ([^;] ) $ \ - [E = VAR1: $ 1, E = VAR2: $ 2]

  1. Exemplo: .htaccess e index.php

RewriteEngine em RewriteRule ^ index.php $ - [L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]

Nota: Se qualquer RewriteRule corresponder, um redirecionamento interno será reiniciado (após a última regra definida ou imediatamente após a regra correspondente ter um sinalizador L) verificando todo o conjunto de regras novamente. Para um redirecionamento interno, todo VAR definido recebe um prefixo 'REDIRECT_', ou seja, VAR1 será REDIRECT_VAR1, VAR2 será REDIRECT_VAR2.

Obviamente, você pode (adicionalmente) redefinir o VAR original:

RewriteEngine em RewriteRule ^ index.php $ \ - [E = VAR1:% {REDIRECT_VAR1}, E = VAR2:% {REDIRECT_VAR2}, L] RewriteRule? Var1 = ([^;] ); var2 = ([^;] ) $ \ index.php [E = VAR1: $ 1, E = VAR2: $ 2]

Com isso, você terá $_SERVER['REDIRECT_VAR*']e $_SERVER['VAR*'].


Os exemplos apresentados são apenas para explicação; em qualquer caso, eles não se destinam a atender às Suas necessidades. Os "\" nos exemplos .htaccess são apenas para fins de exibição, eles não devem ocorrer em um arquivo .htaccess real. O separador de argumentos ';' nos links também pode ser '&', mas isso pode causar alguns problemas com HTML / XHTML. Consulte as seguintes páginas para obter mais informações sobre esse problema:

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.