Frage

Ich habe einige Artikel dazu verfolgt, aber keiner löst mein Problem. Jede Anforderung vor Ort schreibt den folgenden Eintrag in das Systemprotokoll.

var/log/system.log:

2013-10-09T12:53:50+00:00 ERR (3): Warning: include(File.php): failed to open stream: No such file or directory  in /var/public_html/domain.com/live/lib/Varien/Autoload.php on line 93
2013-10-09T12:53:50+00:00 ERR (3): Warning: include(): Failed opening 'File.php' for inclusion (include_path='/var/public_html/domain.com/live/app/code/local:/var/public_html/domain.com/live/app/code/community:/var/public_html/domain.com/live/app/code/core:/var/public_html/domain.com/live/lib:.:/usr/share/pear:/usr/share/php')  in /var/public_html/domain.com/live/lib/Varien/Autoload.php on line 93

Ich habe Artikel gesehen und verfolgt, die darauf hinweisen, dass dies mit dem Compiler zusammenhängt.

Was ich bisher gemacht habe

Ich habe die beiden Zeilen in kommentiert includes/config.php.

Löste den Profiler nach dem Artikel von Herrn Storm vom Terminal: Magento Compiler.

Stellte sicher, dass die Caches geleert werden und die Indizierung mehrmals ausgeführt wurde.

Verglich eine Vanillekopie von 1,7.0,2 n. Chr. Und suchte nach Dateien, die meine eigene Codebasis möglicherweise fehlt (mit Winmerge).

Deaktivierte Symlinks in Admin.

Die Dateiberechtigungen in mehreren verschiedenen Empfehlungen und wieder zurück.


Mir ist auch aufgefallen, dass die Profiler -Seite in admin unter admin untergebracht ist Admin > System > Tools > Compilation ist völlig leer, abgesehen von der NAV und der Fußzeile.

Jede Hilfe, wo sie jetzt sind, wäre sehr geschätzt. Bitte fragen Sie, ob etwas unklar ist. Vielen Dank!

War es hilfreich?

Lösung

Das Autoload versucht, die Datei für eine Klasse zu verlangen, die noch nicht in der Codebasis gefunden wird. Da es erfordert File.php es liegt daran, das zu begründen irgendwo Im Code die Klasse File() wird genannt, der noch nicht in Ihrer Codebasis existiert.

Wenn Sie die Stelle, an der diese Klasse instanziiert ist, aufspüren, haben Sie das Problem behoben.

Andere Tipps

Für Follow-up die mageDebugBacktrace() Bereitstellung des folgenden Ergebniss:

[1] :
[2] :
[3] /var/public_html/domain.com/live/app/code/core/Mage/Core/Model/Cache.php:199
[4] /var/public_html/domain.com/live/app/code/core/Mage/Core/Model/Cache.php:119
[5] /var/public_html/domain.com/live/app/code/core/Mage/Core/Model/Config.php:1348
[6] /var/public_html/domain.com/live/app/Mage.php:462
[7] /var/public_html/domain.com/live/app/code/core/Mage/Core/Model/App.php:401
[8] /var/public_html/domain.com/live/app/code/core/Mage/Core/Model/App.php:295
[9] /var/public_html/domain.com/live/app/code/core/Mage/Core/Model/App.php:337
[10] /var/public_html/domain.com/live/app/Mage.php:683
[11] /var/public_html/domain.com/live/index.php:71

Mit Blick auf die Cache.php Datei, ich kann sehen, dass der Teil "Datei" der Standard -Backend -Cache -Typ ist, der von Magento verwendet wird, wenn keine angegeben ist. Ich habe meine geändert app/etc/local.xml Datei zur Verwendung von 'Datei', beachten Sie den oberen Fall 'F':

Datei app/etc/local.xml:

<cache>
    <backend><![CDATA[File]]></backend>
    ...
</cache>

Hoffe das hilft jemandem.

Ich habe gerade eine seltsame gestoßen WARNUNG: Integrieren Sie (selten.php) in autoload.php in Zeile 93 fehlgeschlagen Nach dem Ziehen von Arbeiten an einer gemeinsamen Testumgebung und einer anderen Person hat der Cache aktiviert.

Nicht genau dieser Fall, weil es erwähnt wird:

Stellte sicher, dass die Caches geleert werden und die Indizierung mehrmals ausgeführt wurde.

Denken Sie also immer daran, den Cache zu überprüfen und zu deaktivieren/zu löschen, wenn Sie an einer gemeinsamen Umgebung arbeiten, bevor Sie Stunden damit verschwenden!

Dieser Fehler beim Erstellen eines Objekts aus der Klasse wie $obj = new GoogleClient(); In Magento versuchen Sie, die Klassendatei mithilfe der Klassendatei herauszufinden Autoload.php

Es könnte auch mit APC -Cache ausgestellt werden. Starten Sie Apache2 neu oder ausführen apc_clear_cache(); von PHP

Ich hatte das gleiche Problem und stellte sich heraus, dass das Redis -Cache es für mich repariert hat.

Aus Befehlszeile:

echo 'flushall' | redis-cli -s /path/to/sock

Hier ist die Dokumentation, dass Sie keinen Socket verwenden:

https://briansnelson.com/install_redis_caching_for_magento

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top