La cache è attiva, ma var / cache è vuota?


16

Ho un magento 1.9.0.1 e tutte le cache sono attive, perché è var/cachevuota? Posso solo svuotare la cache dal back-end, ma quando questo è rotto, ho un problema.

Dove magento scrive i file della cache?


Potrebbe anche essere un problema di autorizzazioni / utente / gruppo.
Dan Norris,

Risposte:


15

Potrebbe anche essere che stai utilizzando una memoria cache diversa come memcached,Redis


sì, se magent usa redis / memcached come archivio cache, non viene salvato nella cartella var / cache
Amit Bera

Dove salva allora?
Black

13

Se hai una vardir o anche una var/cachedir, ma Magento non riesce a scrivergli, Magento userà sys_get_temp_dir()per determinare un buon posto dove mettere i file di cache.

Spesso questo è /tmp/e risulta in /tmp/magento/var/cache(Grazie a fschmengler)


5
in questo caso la /tmp/magento/var/cache
cartella

puoi per favore guardare magento.stackexchange.com/questions/94638/… e rispondere. Spero che tu possa dare abbastanza informazioni
Butterfly,

mi aiuta davvero
Amit Bera

Invece di scrivere commenti riconoscenti, per favore, vota, per lasciare l'area dei commenti per commenti e domande "reali" per favore :)
Fabian Blechschmidt,

l'ho già fatto in passato .. quindi questa volta no voti :)
Amit Bera

6

Ho riscontrato questo problema quando magento scrive il file cache nella /tmp/magento/var/cachecartella.

Questo è un problema strano, avevo risolto questo problema SELinux seguendo il comando.

$ sudo restorecon -R /var/www/html
$ sudo setsebool -P httpd_unified 1

3

A chi colpisce. Qualsiasi file che termina con " .xml" può e verrà utilizzato.
Non è sufficiente rinominare il file XML in qualcosa come oldsomething.xmlte, devi fare qualcosa come il punto in local.xml.backcui il file non termina con un punto XML. Lasciando local.xmle oldlocal.xmlcaricheranno entrambi i file.

Non so abbastanza sul funzionamento interno per sapere perché, ma l'ho provato per sapere che è vero. Puoi dimostrarlo inserendo qualcosa che romperà Magento nell'XML rinominato e Magento smetterà di funzionare.

Forse il codice Magento non discrimina il nome del file ma solo l'estensione in una determinata posizione?

Il mio sito web è ancora su Magento 1.6.2.0
Troppo timido per l'aggiornamento (non è rotto) ma ho inserito la parte 1.8 Redis e sembra funzionare. Sto testando 1.9.2.0 ma non sono ancora pronto per la prima serata poiché alcune delle mie estensioni non funzionano più.

Prova https://github.com/steverobbins/Magento-Redismanager . Mi piace anche a te potrebbe piacere!


Per tua informazione Magento carica i .xmlfile Mage_Core_Model_Configin funzione loadBase(). Ci vuole tutto .xmlcon la funzione PHP glob()all'inizio$files = glob($etcDir.DS.'*.xml');
Matthéo Geoffray,

0

Riesci a risolvere il problema ed è la cosa più strana di sempre. Quando cambio il local.xmlper risolvere il problema ho messo un backup del vecchio file dicendo local_back.xml. Ho appena eliminato quel file e ora tutto funziona bene. Non ho idea del perché Magento raccolga quel file. Comunque il problema è stato risolto.


1
Perché magento sta caricando tutti i file xml app/etc/come puoi vedere\Mage_Core_Model_Config::loadBase
Fabian Blechschmidt,

Ho Bigin Magento Devloper
Ashvin Monpara,

0

Forse qualcuno non capisce cosa sta succedendo o la mia risposta, come negli altri commit Magento caricherà tutto ciò che termina con ".xml". Quindi, se si desidera eseguire backup o copie non utilizzate in aggiunta al backup o al backup o qualsiasi altra cosa NON FUNZIONA!

back_local.xml non funzionerà

Se vuoi copie o backup devi cambiare il suffisso del nome del file, o in altre parole nel formato "local.xml.backup o uccidere del tutto il .xml. Uso local.xml.backup come copia mentre io sto testando, in quanto posso facilmente rimuovere il ".backup" per usarlo, se lo desidero. Puoi sempre usare "Salva con nome" in un editor per versioni diverse, come .back_today o .back2 e simili.

Per tua informazione Magento carica file .xml in Mage_Core_Model_Config nella funzione loadBase (). Prende tutto .xml con la funzione PHP glob () all'inizio $ files = glob ($ etcDir.DS. '*. Xml'); - Matthéo Geoffray, 17 febbraio 16 alle 14:56

Pertanto, durante il test di backend diversi, utilizzare il formato sopra.

Per quanto riguarda gli APC memcached , sono obsoleti e non usano chiavi come Redis . Da quello che ho capito non c'è alcuna differenza significativa tra

    <session_save><![CDATA[db]]></session_save>

[files], [db], [memcache] o altra cache in quanto sembra essere più una situazione del tempo di risposta del server e / o dei dischi rigidi utilizzati sul server. Vedi: " Memoria sessioni Magento: quali scegliere e perché ?"

Quando My VPS (InMotion) è passato ai dischi rigidi a stato solido, tutto è stato tremendamente più veloce. Stavo ricevendo trasferimenti Milli-secondo!

Sui miei server di prova a casa l'unico box che utilizza la velocità del mandrino HST 10k e un carico di cache dell'imbarcazione, come 64 MB (contrassegnato per l'uso del server), il disco rigido è molto veloce e l'altro box molto lento con i dischi rigidi che ottieni da una scatola OEM.

Anche avere 8 core della CPU e 32 GB di RAM aiuta molto. Gran parte di ciò che viene offerto online come VPS o anche un server dedicato è un trucco !!! Devi entrare nei dettagli o nelle risorse che otterrai poiché Illimitato non significa nulla se il server è in realtà un hosting condiviso passato come qualcos'altro. E non lasciare che le immagini ti inducano in errore su quale potrebbe essere la loro struttura. Potresti ricevere qualcosa come Hillary per la sua e-mail, solo qualcosa nell'armadio di un bagno. Il problema è che spesso vogliono un anno o più di contratto per ottenere il buon prezzo e potrebbero volerci un mese o più per ottimizzare la tua configurazione prima di sapere che sei solo su un server lento !!!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.