La memoria caché está encendida, pero var / cache está vacía?

16

Tengo un magento 1.9.0.1 y todas las memorias caché están activadas, ¿por qué está var/cachevacío? Solo puedo vaciar el caché del back-end, pero cuando esto está roto, tengo un problema.

¿Dónde escribe Magento los archivos de caché?

Fabian Blechschmidt
fuente
También podría ser un problema de permisos / usuario / grupo.
Dan Norris

Respuestas:

15

También podría estar utilizando un almacenamiento en caché diferente memcached, comoRedis

Sander Mangel
fuente
sí, si Magent usa redis / memcached como almacén de caché, entonces no se guarda en la carpeta var / cache
Amit Bera
¿Dónde se guarda entonces?
Negro
13

Si tiene un vardirectorio o incluso un var/cachedirectorio, pero Magento no puede escribirle, Magento lo usará sys_get_temp_dir()para determinar un buen lugar para colocar los archivos de almacenamiento en caché.

A menudo esto es /tmp/y resulta en /tmp/magento/var/cache(Gracias a fschmengler)

Fabian Blechschmidt
fuente
55
en este caso el directorio de caché es/tmp/magento/var/cache
Fabian Schmengler
¿Puedes mirar magento.stackexchange.com/questions/94638/… y responder? Espero que puedas dar suficiente información
Butterfly
realmente me ayuda
Amit Bera
En lugar de escribir comentarios de agradecimiento, favor de votar, para dejar el área de comentarios para comentarios y preguntas "reales", por favor :)
Fabian Blechschmidt
ya había hecho esto en el pasado ... así que no hay voto a favor esta vez :)
Amit Bera
6

Me encontré con este problema cuando Magento escribe el archivo de caché en la /tmp/magento/var/cachecarpeta.

Este es un problema extraño, había resuelto este problema de SELinux siguiendo el comando.

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

A quien afecta. Cualquier archivo que termine con " .xml" puede y será usado.
No es suficiente simplemente cambiar el nombre del archivo XML a algo como oldsomething.xmldebe hacer algo como local.xml.backdonde el archivo no termina con un punto XML. Dejando local.xmly oldlocal.xmlcargará ambos archivos.

No sé lo suficiente sobre el funcionamiento interno para saber por qué esto es así, pero lo he probado para saber que es cierto. Puede probar esto poniendo algo que rompa a Magento en el XML renombrado, y Magento deja de funcionar.

¿Quizás el código de Magento no discrimina el nombre del archivo sino solo la extensión en una ubicación determinada?

Mi sitio web todavía está en Magento 1.6.2.0
Demasiado tímido para actualizar (no está roto) pero puse la parte 1.8 Redis y parece funcionar. Estoy probando 1.9.2.0 pero aún no estoy listo para el horario estelar, ya que algunas de mis extensiones ya no funcionan.

Pruebe https://github.com/steverobbins/Magento-Redismanager . ¡Me gusta, a ti también te puede gustar!

James Niland
fuente
Para su información, Magento carga .xmlarchivos Mage_Core_Model_Configen la función loadBase(). Se necesita todo .xmlcon la función PHP glob()al principio$files = glob($etcDir.DS.'*.xml');
Matthéo Geoffray
0

Consiga resolver el problema y es lo más extraño que existe. Cuando cambio el local.xmlde solucionar el problema pongo una copia de seguridad del archivo viejo dicho local_back.xml. Acabo de eliminar ese archivo y ahora todo funciona bien. No tengo idea de por qué Magento recoge ese archivo. De todos modos el problema ha sido resuelto.

Ashvin Monpara
fuente
1
Debido a que magento está cargando cada archivo xml app/etc/como puede ver en\Mage_Core_Model_Config::loadBase
Fabian Blechschmidt
tengo Bigin magento devloper
Ashvin Monpara
0

Quizás alguien no está entendiendo lo que está sucediendo o mi respuesta, ya que en las otras confirmaciones, Magento cargará todo lo que termine con ".xml". Por lo tanto, si desea copias de seguridad o copias que no se utilizan, anexarlas o hacer copias de seguridad o cualquier otra cosa NO FUNCIONARÁ

back_local.xml no funcionará

Si desea copias o copias de seguridad, debe cambiar el sufijo del nombre del archivo o, en otras palabras, en el formato "local.xml.backup o eliminar el .xml por completo. Uso local.xml.backup como copia mientras yo estoy probando, ya que puedo eliminar fácilmente el ".backup" para usarlo si quiero. Siempre puedes usar 'Guardar como' en un editor para diferentes versiones, como .back_today, o .back2 y demás.

Para su información, Magento cargue archivos .xml en Mage_Core_Model_Config en la función loadBase (). Toma todo .xml con la función PHP glob () al principio $ files = glob ($ etcDir.DS. '*. Xml'); - Matthéo Geoffray 17 de febrero de 16 a 14:56

Entonces, mientras prueba diferentes backends, use el formato anterior.

En cuanto a APC memcached , están desactualizados y no usan claves como Redis . Por lo que entiendo, no hay una diferencia significativa entre

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

[archivos], [db], [memcache] u otro caché, ya que parece ser más una situación del tiempo de respuesta del servidor y / o los discos duros utilizados en el servidor. Consulte: " Almacenamiento de sesión de Magento: ¿cuál elegir y por qué ?"

Cuando My VPS (InMotion) cambió estrictamente a discos duros de estado sólido, todo fue tremendamente más rápido. ¡Estaba recibiendo transferencias de milisegundos!

En mis propios servidores de prueba en casa, la caja que usa la velocidad del eje HST 10k y una carga de caché, como 64 MB (Marcado para uso del servidor), el disco duro es muy rápido y la otra caja muy lenta con los discos duros que obtienes de una caja OEM.

También tener 8 núcleos de CPU y 32 GB de RAM ayuda mucho. ¡Tanto de lo que se ofrece en línea como un VPS o incluso un servidor dedicado es una trampa! Necesita entrar en los detalles o los recursos que obtendrá como Ilimitado no significa nada si el servidor en realidad es un alojamiento compartido que se hace pasar por otra cosa. Y no deje que las imágenes lo engañen en cuanto a cuál podría ser realmente su instalación. Puede obtener algo como lo que Hillary recibió por su correo electrónico, algo en el armario de un baño. ¡El problema es que a menudo quieren un contrato de un año o más para obtener el buen precio y podría tomar un mes o más para optimizar su configuración antes de que sepa que está en un servidor lento!

James Niland
fuente