3 Stimmen

Kann jemand mit diesem Magento Fehler helfen?

Fataler Fehler: Aufruf einer Memberfunktion getArea() auf einem Nicht-Objekt in {Verzeichnis}/includes/src/Mage_Core_Model_App_Area.php in Zeile 155

Cropped up, wenn ich eine Erweiterung, die ich schrieb auf eine saubere Installation von Magento installiert. Bei der Portierung auf den Dev-Server nahm es nach unten, und ich kann nicht scheinen zu finden, wo es entstanden ist. Das Deaktivieren der Erweiterung ändert nichts. Zusammen mit dem Löschen des Cache und all den üblichen Magento-Schluckaufs. Ich habe sichergestellt, dass die Dateiberechtigungen nach bestem Wissen und Gewissen korrekt sind.

4voto

Alan Storm Punkte 160579

Der Name der Datei in Ihrem Fehler

Fatal error: Call to a member function getArea() on a non-object in {directory}/includes/src/Mage_Core_Model_App_Area.php on line 155

zeigt an, dass Magento mit aktiviertem Compiler-Modus arbeitet. Die Installation von neuen Modulen im Kompiliermodus können seltsame Dinge™ passieren. Ich würde sagen, Ihr Verhalten qualifiziert sich als eine seltsame Sache

Öffnen Sie eine Shell und wechseln Sie in das Wurzelverzeichnis Ihrer Anwendung. Geben Sie dann

$ cd shell
$ php compiler.php  state

Flucht vor dieser shell Unterordner erforderlich ist, da der compiler.php geht davon aus, dass dies die Basis ist, wenn einige wichtige Dateien einbezogen werden. Sie sollten eine Ausgabe wie die folgende sehen

Compiler Status:          Enabled
Compilation State:        Compiled
Collected Files Count:    5602
Compiled Scopes Count:    4

Um den Complier zu deaktivieren, geben Sie

$ php compiler.php disable

Sie können überprüfen, ob das Skript seine Aufgabe erfüllt hat, indem Sie sich

File: includes/config.php

Wenn die beiden Codezeilen in dieser Datei auskommentiert sind, wird Magento nicht nach "kompiliertem" Code suchen.

#define('COMPILER_INCLUDE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'src');
#define('COMPILER_COLLECT_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR.'stat');

Wenn sie es nicht sind, dann kommentieren Sie sie mit dem # Markierung (das Skript zum Aktivieren/Deaktivieren verwendet und sucht nach einem # und eine # nur).

Wenn Sie das tun, sollte der Fehler verschwinden (oder sich zumindest in etwas anderes ändern, was eine weitere Fehlersuche ermöglicht)

3voto

Anton S Punkte 12810

Pfad in /includes/src/ zeigt, dass Sie den Magento-Compiler verwenden. Sie müssen sich das jedes Mal merken, wenn Sie etwas installieren:

  1. Cache deaktivieren
  2. Compiler deaktivieren
  3. Admin-Rollen (falls ACL verwendet wird) nach der Installation aktualisieren

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X