He cambiado de servidor de un Shared Hosting a un VPS y como en todos los cambios, siempre pasa algo. Uno de los problemas que me he encontrado (uno de muchos) es que después de instalar Memcached para reducir la carga del servidor, mis instalaciones de WordPress no funcionaban correctamente y me mostraban un error como este:
«Fatal error: Class ‘Memcache’ not found…»
Y yo había comprobado que tanto memcached como la «PHP PECL memcache extension» estaban instalas y funcionando correctamente en el servidor (con el comando «ps aux | grep memcached»)… ¿Qué pasaba? Si por algo he elegido Hostgator como compañía de Hosting es por su excelente servicio al cliente y sus rápidas respuestas cuando tienes un problema. Después de unos cuanto tickets, lo que sucedia es que aunque en la php.ini del servidor estaba claramente especificada la extensión para que todo fuera OK (extension = «memcache.so»), los dominios no estaban utilizando ese php.ini.
¿Solución al problema? (en todos los casos sustituimos username por nuestro nombre de usuario en cpanel)
- Crear un archivo php.ini para cada dominio en el servidor en /home/username/
- Añadir las siguientes lineas en los archivos .htaccess de cada dominio situados en /home/username/public_html/.htacces, donde vamos a decirle donde se encuentra nuestro archivo php.ini con nuestra linea de código (extension = «memcache.so») configurada para que funcione Memcached.
<IfModule mod_suphp.c>
suPHP_ConfigPath /home/username
<Files php.ini>
order allow,deny
deny from all
</Files>
</IfModule>
Y me podeis decir… «Esto esta muy bien, pero… ¿Que hacemos para que WordPress aproveche la potencia de Memcached?» Hay varias opciones en forma de plugin, una es muy conocida: Usar W3 Total Cache. En mi caso uso Wp Super Cache como plugin para cachear mis paginas, y según el soporte, tambien hace uso de Memcached (pero no de manera tan intensiva como el otro), así que instale WP Memcached Manager (para chequear que Memcached estaba funcionando) y Memcached Object Cache (el plugin que hace a WordPress utilizar a fondo esta característica – ¡Ojo! NO se instala en el directorio de plugins de WordPress, sino en wp-content).