Che cosa significa esattamente il file app / etc / use_cache.ser fare?
-
16-10-2019 - |
Domanda
I è stato affrontato con un errore di caching di questo pomeriggio che è generalmente (dal parere unanime dei interwebs) risolto (e in questo caso era) cancellando app / etc / use_cache.ser. Che cosa fa esattamente questo file fare? Il contenuto non è descrittivo con qualsiasi mezzo. Inoltre, a che punto Magento rigenera questo file sul proprio?
Soluzione
E 'stata una serializzato array PHP che era un flag per consentire funzionalità di caching nell'applicazione. Questo include blocco, il layout, traduzione, configurazione, EAV e più. Questo è stato interrotto qualche tempo dopo 1.2 o giù di lì in 1.4 alpha 3 -. E come tale penso che si dispone di un non aggiornati Magento install
Il metodo che trova il file sul disco di scrittura / lettura è nel Mage_Core_Model_App
classe ed è contrassegnato come deprecato:
/**
* Get file name with cache configuration settings
*
* @deprecated after 1.4.0.0-alpha3, functionality implemented in Mage_Core_Model_Cache
* @return string
*/
public function getUseCacheFilename()
{
return $this->_config->getOptions()->getEtcDir().DS.'use_cache.ser';
}
E 'qualcosa di tipicamente guardato come questo:
a:7:{s:6:"config";i:0;s:6:"layout";i:0;s:10:"block_html";i:0;s:9:"translate";i:0;s:11:"collections";i:0;s:3:"eav";i:0;s:10:"config_api";i:0;}
che, quando deserializzato può essere visualizzato come un array PHP come tali:
Array
(
[config] => 0
[layout] => 0
[block_html] => 0
[translate] => 0
[collections] => 0
[eav] => 0
[config_api] => 0
)
Il problema con un file di questo tipo è che deve essere scrivibile dal server, e averlo vivere in app / etc / potrebbe esporre potenziali problemi al file local.xml rendendo chiavi vostra configurazione del database e crittografia leggibile se si hanno configurato male permessi.
Questo è stato sostituito ad un certo punto con uno schermo gestione della cache di amministrazione che ti ha dato la possibilità di abilitare o disabilitare determinate aree di memorizzazione nella cache.
Qualche informazione in più sulla risoluzione dei problemi con use_cache.ser:
http://www.magentocommerce.com/wiki/groups/227/cache_is_not_writable
serializzazione in PHP: http://php.net/manual/en/function.serialize.php
Altri suggerimenti
Per le versioni 1.4+ questo file non dovrebbe esiste. E 'diventato deprecato in versione 1.4.0.0-alpha3.
Per le versioni prima della 1.4 è stato utilizzato questo file per memorizzare lo stato dei tipi di cache (abilitata / disabilitata). E 'conservato ciò che si vede sotto il System->Cache Management
menu.