Comment activer le mode développeur dans Magento 1.7


20

J'essaie d'activer le mode développeur sur un site utilisant Magento 1.7. Jusqu'à présent, j'ai ajouté:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

au .htaccessfichier et:

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

au index.phpfichier comme décrit ici . J'ai même supprimé la Ifclause, ne laissant que:

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

dans le fichier index.php. Mais toujours pas de chance. Qu'est-ce que je rate? Que dois-je faire pour activer le mode développeur?


1
Vos deux méthodes devraient fonctionner. Que voulez-vous dire par "toujours pas de chance"? Qu'est-ce qui vous fait dire que cela ne fonctionne pas?
Marius

Réponses:


26

Essayez ce qui suit dans votre index.phpfichier:

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

Assurez-vous également de vérifier que vous avez:

1. Désactiver le système de cache > Gestion du cache> Sélectionner tout [cases à cocher]> Actions = Désactiver> Soumettre

2. Réindexer tout le système> Gestion de l'index> Sélectionner tout [cases à cocher]> Actions = Réindexer les données> Soumettre

3. Désactiver le système de compilation > Outils> Compilation> Désactiver

Remarque: Par défaut, le mode de compilation est désactivé. Il suffit donc de vérifier si l'état du compilateur est activé ou non.

4. Activez Système de journalisation > Configuration> Avancé> Développeur> Paramètres de journal> Activé => Oui


Mage :: setIsDeveloperMode (true); était le ticket. À votre santé.
Dark Egregious

je fais n'importe quoi quand activer ini_set ('display_errors', 1); son travail
Saeed Darvish

9

Trois choses à vérifier

  1. Vous modifiez le mauvais index.php/ .htaccessfichier

  2. Vous avez un autre code personnalisé dans le système qui désactive le mode développeur

  3. Vos attentes concernant ce que fait le développeur sont incorrectes (la description de l'inadéquation des attentes peut aider les utilisateurs à déboguer votre problème)


Merci Alan! 1. Les fichiers que je modifie se trouvent dans la racine du document. 2. Le système est une nouvelle installation de Magento donc cela ne devrait pas poser de problème. 3. Je m'attends à ce que des erreurs apparaissent dans la fenêtre du navigateur au lieu d'une page vide blanche, que j'obtiens atm. Mes attentes sont-elles un peu décalées?
fuumind

Quelle est la valeur in_ php display_errors? Que contiennent les journaux d'erreurs du serveur Web?
Alan Storm

Les journaux d'erreurs des serveurs Web sont (bien sûr) l'endroit où chercher! Merci d'avoir fait remarquer cela! :) Des erreurs sont-elles jamais présentées sur une page Web qui n'a pas pu être restituée ou Magento échoue-t-il silencieusement par conception?
fuumind

1

Essayez ce qui suit dans votre fichier index.php: Move Mage :: setIsDeveloperMode (true); de condition 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

Cela peut également être dû à la redirection du serveur.

Veuillez vérifier la sortie phpinfo et vérifier $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']également la variable.

Explication:

Si vous travaillez avec le module Apache mod_rewrite et que vous souhaitez définir des variables d'environnement, le manuel Apache indique que ces variables sont accessibles dans CGI à l'aide de $ENV{VAR}. En PHP, vous voudrez peut-être écrire $_ENV['VAR']pour obtenir la valeur de VAR, mais vous devez y accéder via $_SERVERet de différentes manières:

  1. Exemple: .htaccess et example.php

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

  1. Exemple: .htaccess et index.php

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

Remarque: Si une RewriteRule correspond, une redirection interne redémarre (après la dernière règle définie ou immédiatement après la règle correspondante ayant un indicateur L) vérifiant à nouveau l'ensemble de règles. Pour une redirection interne, chaque VAR défini reçoit un préfixe «REDIRECT_», c'est-à-dire que VAR1 sera REDIRECT_VAR1, VAR2 sera REDIRECT_VAR2.

Bien sûr, vous pouvez (en plus) redéfinir le VAR d'origine:

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

Avec cela, vous aurez $_SERVER['REDIRECT_VAR*']et $_SERVER['VAR*'].


Les exemples donnés sont uniquement à titre d'explication, dans tous les cas, ils ne sont pas destinés à répondre à vos besoins. Les "\" dans les exemples .htaccess sont uniquement à des fins d'affichage, ils ne doivent pas apparaître dans un vrai fichier .htaccess. Le séparateur d'arguments ';' dans les liens peut également être «&», mais cela peut causer des problèmes avec HTML / XHTML. Consultez les pages suivantes pour plus d'informations sur ce problème:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.