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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top