Come abilitare la Modalità sviluppatore in Magento 1.7


20

Sto cercando di abilitare la modalità sviluppatore su un sito utilizzando Magento 1.7. Finora ho aggiunto:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

al .htaccessfile e:

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

al index.phpfile come descritto qui . Ho persino rimosso la Ifclausola, lasciando solo:

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

nel file index.php. Ma ancora nessuna fortuna. Cosa mi sto perdendo? Cosa devo fare per abilitare la modalità sviluppatore?


1
Entrambi i metodi dovrebbero funzionare. Cosa intendi con "ancora senza fortuna"? Cosa succede che ti fa dire che non funziona?
Marius

Risposte:


26

Prova quanto segue nel tuo index.phpfile:

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

Assicurati anche di ricontrollare di avere:

1. Disabilita Sistema cache > Gestione cache> Seleziona tutto [caselle di controllo]> Azioni = Disabilita> Invia

2. Reindicizza tutto il sistema> Gestione indice> Seleziona tutto [caselle di controllo]> Azioni = Reindex Data> Invia

3. Disabilita sistema di compilazione > Strumenti> Compilazione> Disabilita

Nota: per impostazione predefinita la modalità di compilazione è disabilitata. Quindi controlla se lo stato del compilatore è abilitato o meno.

4. Attiva Sistema di registrazione > Configurazione> Avanzate> Sviluppatore> Impostazioni registro> Abilitato => Sì


Mage :: setIsDeveloperMode (true); era il biglietto. Saluti.
Darth Egregious

faccio qualsiasi cosa quando abilito ini_set ('display_errors', 1); il suo lavoro
Saeed Darvish,

9

Tre possibili cose da controllare

  1. Stai modificando il file index.php/ errato.htaccess

  2. Nel sistema è presente un altro codice personalizzato che disattiva la modalità sviluppatore

  3. Le tue aspettative su ciò che fa lo sviluppatore sono errate (Descrivere la mancata corrispondenza delle aspettative può aiutare le persone a eseguire il debug del problema)


Grazie Alan! 1. I file di modifica Im si trovano nella radice del documento. 2. Il sistema è una nuova installazione di Magento, quindi non dovrebbe essere un problema. 3. Mi aspetto che vengano visualizzati errori nella finestra del browser anziché in una pagina bianca vuota, che sto ottenendo. Le mie aspettative sono un po 'fuori posto?
fuumind,

Qual è il valore di php ini display_errors? Cosa c'è nei log degli errori del web server?
Alan Storm,

I log degli errori dei server web sono (ovviamente) il posto dove cercare! Grazie per la segnalazione! :) Gli errori vengono mai presentati su una pagina Web che non è riuscita a eseguire il rendering o Magento non funziona in modo silenzioso in base alla progettazione?
fuumind,

1

Prova quanto segue nel tuo file index.php: Move Mage :: setIsDeveloperMode (true); da If condizione.


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

Può essere dovuto anche al reindirizzamento del server.

Controlla l'output di phpinfo e controlla $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']anche la variabile.

Spiegazione :

Se si sta lavorando con il modulo Apache mod_rewrite e si desidera impostare alcuni parametri di ambiente, il manuale di Apache afferma che è possibile accedere a questi parametri in CGI usando $ENV{VAR}. In PHP potresti voler scrivere $_ENV['VAR']per ottenere il valore di VAR, ma devi accedere se tramite $_SERVER, e in diversi modi:

  1. Esempio: .htaccess ed example.php

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

  1. Esempio: .htaccess e index.php

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

Nota: se qualsiasi RewriteRule corrisponde, un reindirizzamento interno riavvia (dopo l'ultima regola definita o immediatamente dopo la regola abbinata con un L-flag) che controlla di nuovo l'intero set di regole. Per un reindirizzamento interno, ogni VAR definito ottiene un prefisso "REDIRECT_", ovvero VAR1 sarà REDIRECT_VAR1, VAR2 sarà REDIRECT_VAR2.

Ovviamente, puoi (ulteriormente) ridefinire il VAR originale:

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

Con questo, avrai $_SERVER['REDIRECT_VAR*']e $_SERVER['VAR*'].


Gli esempi forniti sono solo a scopo esplicativo, in ogni caso, non sono intesi per soddisfare le tue esigenze. I "\" negli esempi .htaccess sono solo a scopo di visualizzazione, non dovrebbero verificarsi in un vero file .htaccess. L'argomento separatore ';' nei link può anche essere '&', ma ciò può causare qualche problema con HTML / XHTML. Vedere le seguenti pagine per ulteriori informazioni su questo problema:

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.