So aktivieren Sie den Entwicklermodus in Magento 1.7

20

Ich versuche, den Entwicklermodus auf einer Site mit Magento 1.7 zu aktivieren. Bisher habe ich hinzugefügt:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

in die .htaccessDatei und:

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

in die index.phpDatei wie hier beschrieben . Ich habe sogar die IfKlausel gestrichen und nur Folgendes gelassen:

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

in der index.php Datei. Aber immer noch kein Glück. Was vermisse ich? Was kann ich tun, um den Entwicklermodus zu aktivieren?

fuumind
quelle
1
Beide Methoden sollten funktionieren. Was meinst du mit "noch kein Glück"? Was passiert, dass Sie sagen, dass es nicht funktioniert?
Marius

Antworten:

26

Versuchen Sie Folgendes in Ihrer index.phpDatei:

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

Stellen Sie außerdem sicher, dass Sie Folgendes haben:

1. Deaktivieren Sie Cache- System> Cache-Verwaltung> Aktivieren Sie Alle [Kontrollkästchen]> Aktionen = Deaktivieren> Senden

2. Alle neu indizieren System> Indexverwaltung> Alle auswählen [Kontrollkästchen]> Aktionen = Daten neu indizieren> Senden

3. Deaktivieren Sie Compilation System> Tools> Compilation> Deaktivieren

Hinweis: Der Kompilierungsmodus ist standardmäßig deaktiviert. Überprüfen Sie also einfach, ob der Compiler-Status Aktiviert ist oder nicht.

4. Aktivieren Sie das Protokollierungssystem > Konfiguration> Erweitert> Entwickler> Protokolleinstellungen> Aktiviert => Ja

Elch
quelle
Mage :: setIsDeveloperMode (true); war das Ticket. Prost.
Darth Egregious
Ich mache alles, wenn enable ini_set ('display_errors', 1); seine Arbeit
Saeed Darvish
9

Drei mögliche Dinge zu überprüfen

  1. Sie bearbeiten die falsche index.php/ .htaccessDatei

  2. Sie haben einen anderen benutzerdefinierten Code im System, der den Entwicklermodus deaktiviert

  3. Ihre Erwartungen an das, was Entwickler tun, sind falsch. (Das Beschreiben Ihrer Erwartungsinkongruenz kann den Leuten helfen, Ihr Problem zu beheben.)

Alan Storm
quelle
Danke Alan! 1. Die Dateien, die ich bearbeite, befinden sich im Dokumentenstamm. 2. Das System ist eine Neuinstallation von Magento, sodass dies kein Problem darstellen sollte. 3. Ich erwarte, dass Fehler im Browserfenster auftauchen anstatt einer weißen, leeren Seite, die ich bekomme. Sind meine Erwartungen ein bisschen anders?
fuumind
Was ist der php ini Wert von display_errors? Was ist in den Fehlerprotokollen des Webservers?
Alan Storm
Die Fehlerprotokolle des Webservers sind (natürlich) der Ort, an dem Sie suchen müssen! Vielen Dank für den Hinweis! :) Werden auf einer Webseite jemals Fehler angezeigt, die nicht gerendert werden konnten, oder schlägt Magento automatisch fehl?
fuumind
1

Versuchen Sie Folgendes in Ihrer index.php-Datei: Move Mage :: setIsDeveloperMode (true); von wenn Bedingung.


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); }

Sourav
quelle
0

Dies kann auch an der Serverumleitung liegen.

Bitte überprüfen Sie die phpinfo-Ausgabe und auch die $_SERVER['REDIRECT_MAGE_IS_DEVELOPER_MODE']Variable.

Erklärung:

Wenn Sie mit dem Apache-Modul mod_rewrite arbeiten und einige Umgebungsvariablen festlegen möchten, heißt es im Apache-Handbuch, dass mit CGI auf diese Variablen zugegriffen werden kann $ENV{VAR}. In PHP möchten Sie vielleicht schreiben $_ENV['VAR'], um den Wert von VAR zu erhalten, aber Sie müssen auf folgende Weise zugreifen $_SERVER:

  1. Beispiel: .htaccess und example.php

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

  1. Beispiel: .htaccess und index.php

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

Hinweis: Wenn eine RewriteRule übereinstimmt, wird eine interne Umleitung neu gestartet (nach der zuletzt definierten Regel oder unmittelbar nach der übereinstimmenden Regel mit einem L-Flag) und der gesamte Regelsatz erneut überprüft. Bei einer internen Umleitung erhält jede definierte VAR das Präfix 'REDIRECT_', dh VAR1 ist REDIRECT_VAR1, VAR2 ist REDIRECT_VAR2.

Natürlich können Sie die ursprüngliche VAR (zusätzlich) neu definieren:

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

Damit haben Sie $_SERVER['REDIRECT_VAR*']und $_SERVER['VAR*'].


Die angegebenen Beispiele dienen nur zur Erläuterung. Sie sind jedoch nicht dazu gedacht, Ihren Anforderungen zu entsprechen. Die "\" in den .htaccess-Beispielen dienen nur zu Anzeigezwecken. Sie sollten in einer echten .htaccess-Datei nicht vorkommen. Das Argument Trennzeichen ';' in Links kann auch '&' sein, dies kann jedoch zu Problemen mit HTML / XHTML führen. Weitere Informationen zu diesem Problem finden Sie auf den folgenden Seiten:

Deepanshu Jain
quelle