Warning: include (file.php) fallito nel autoload.php on line 93
-
16-10-2019 - |
Domanda
ho seguito numerosi articoli su questo, ma nessuno risolvere il mio problema. Ogni richiesta in loco scrive la seguente voce al registro di sistema.
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
ho visto e seguito gli articoli che indicano questo è legato al compilatore.
Quello che ho fatto finora
Ho commentato le due linee in includes/config.php
.
Azzerato il profiler dall'articolo di terminale seguente Mr Storm:. Magento Compiler
assicurato che le cache vengono svuotati e indicizzazione è gestito parecchie volte.
In confronto una copia di vaniglia di 1.7.0.2 CE e cercato tutti i file che la mia base di codice potrebbe essere mancante (utilizzando WinMerge).
link simbolici per disabili in amministrazione.
Cambiato i permessi dei file a diversi vari consigli e viceversa.
Ho anche notato che la pagina profiler in admin situato a Admin > System > Tools > Compilation
è completamente vuoto, a parte il NAV e piè di pagina.
Qualsiasi aiuto su dove ora sarebbe molto apprezzato. Si prega di chiedere se qualcosa non è chiaro. Grazie!
Soluzione
il caricamento automatico prova a richiedere il file per una classe che non si trova ancora nella base di codice. Dal momento che sta richiedendo File.php
è ovvio che qualche parte nel codice del File()
classe si chiama, che ancora non esiste nella vostra base di codice.
Se si rintracciare il punto in cui questa classe viene creata un'istanza avrete risolto il problema.
Altri suggerimenti
Per il follow-up, il mageDebugBacktrace()
fornito il seguente risultato:
[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
Guardando il file Cache.php
, posso vedere che parte del 'file' è il tipo di cache di default backend utilizzato da Magento, se non viene specificato. Ho cambiato il mio file app/etc/local.xml
ad uso 'File', nota maiuscolo 'F':
app/etc/local.xml
file:
<cache>
<backend><![CDATA[File]]></backend>
...
</cache>
La speranza che aiuta qualcuno.
appena incontrato uno strano Attenzione: include (somefile.php) fallito nel autoload.php on line 93 dopo aver tirato a lavorare su un ambiente di test condiviso e qualcun altro ha consentito alla cache.
Non è esatto questo caso, perché è detto:
assicurato che le cache vengono svuotati e indicizzazione è stato eseguito vari volte.
Quindi, sempre ricordarsi di controllare e disattivare / cancellare la cache se si lavora in un ambiente condiviso, prima di sprecare ore di debug!
Questo errore durante la creazione di un oggetto dalla classe come $obj = new GoogleClient();
in Magento è cercare di scoprire il file di classe utilizzando Autoload.php
Potrebbe essere anche questione con cache di APC. Riavvia apache2 o eseguire apc_clear_cache();
da php
Ho avuto questo stesso problema e scopre lo svuotamento della cache Redis risolvere il problema per me.
Da riga di comando:
echo 'flushall' | redis-cli -s /path/to/sock
Ecco la documentazione in caso non si sta usando un socket:
https://briansnelson.com/Install_Redis_Caching_for_Magento
La speranza che aiuta.