100DaysOfHomeLab: día 2 – wordpress, las cachés y su prima

En este servidor, esferas.org, ya tengo cuatro instalaciones de wordpress independientes de todo excepto de la base de datos. El servidor no tiene una gran configuración hardware por lo que intento que la cosa vaya lo más fluida posible. Y hoy me ha dado por revisar el asunto de los cachés. En la página de salud del sitio, en el que siempre me dicen que hay uno o dos o tres elementos a comprobar están insistiendo mucho en que necesito un caché de objetos persistente.

Me recomiendan en este caso instalar algún programa, entre ellos memcache, que resulta que tengo instalado ya en el sistema y al que referencia la configuración predeterminada de wordpress pero que no se utiliza o no se marca como utilizado. Pues muy bien.

He seguido la documentación y me recomiendan instalar un complemento específico para ello. Y mira por dónde hay uno que funciona expresamente para memcache así que me dispongo a instalarlo. Error. Error fatal además, porque en la instalación funciona pero en la activación (paso necesario para utilizarlo) da una fallo muy concreto y se muere.

Fatal error: Cannot redeclare wp_cache_add() (previously declared in /public_html/wp-includes/cache.php:41) in /public_html/wp-content/plugins/memcached/object-cache.php on line 19

A que mola, ¿eh? Pues nada, a buscar la solución dado que parece que a algunos les va bien y han conseguido instalarlo. Y mira por donde el autor explica que hay que realizar la instalación correctamente. Correctamente significa pasar del panel web de wordpress que gestiona estas cosas e ir al terminal y hacer un par de cosas.

  1. Te aseguras de que memcached está instalado y funcionando en el sistema y también que existe la extensión PECL memcache para php.
  2. Descargas el plugin (porque no he conseguido localizar dónde ha guardado el archivo zip) y lo extraes en alguna parte.
  3. Copias el archivo object-cache.php al directorio wp-content de tu instalación.
  4. Creas una contraseña larga larga y la añades a la definición de la variable WP_CACHE_KEY_SALT del archivo de configuración de tu instalación (wp-config.php).
  5. Y ya.

Los pasos 3 y 4 los he tenido que realizar en cada instalación. Lo de la contraseña es importante porque todos emplean el mismo servidor memcached y pueden tropezarse. Ah, y a todo esto, ya no hace falta que actives el complemento que daba error desde el panel. Ya está colocado en su sitio y no hace falta más.

A partir de ésto el sitio de salud del sitio no vuelve a quejarse más de ello. De otras cosas sí, claro, incluso entre visita y visita, pero de ésto no. Buena cosa. O eso creo. Tampoco he notado una gran diferencia después de ello pero vamos a creer que sí.

En todos ellos ya tenía de antes instalado el complemento WP Super Cache pero parece que no tiene objetos persistentes y no es lo mismo (por cierto que la configuración de este complemento es tan compleja que se necesita un curso para entender todas sus posibilidades). Así ahora tengo dos sistemas de cacheado de cosas activos en cada instalación. Veremos cómo acaba ésto pero no me da una buena sensación. De hecho sospecho de WordPress porque está llegando a un punto en el que unos y otros parecen competir por lo mismo. Mala señal de crecimiento canceroso.