Archivo de la etiqueta: wordpress

Segmentation fault en WordPress al utilizar eAccelerator

Hacía casi un mes que no escribía nada :O, cosas del periodo navideño. Espero retomar mis hábitos de escritura con ganas con el año nuevo, tengo muchas cosas pendientes por contar.

Llevaba un par de meses preocupado por mi blog. Por alguna extraña razón, de vez en cuando comenzaba a devolverme pantallas en blanco al acceder a cualquier artículo e incluso al acceder al tablero de administración, la pantalla de login funcionaba bien pero una vez te autentificabas saltaba el error. Reiniciando el servidor web volvía a funcionar correctamente por un periodo indeterminado de tiempo, a veces unas horas a veces varios días, pero terminaba saltando de nuevo la pantalla en blanco.

Al comprobar los logs de errores de Apache lo único que aparecía era algo como:

[Mon Jan 08 09:34:14 2010] [notice] child pid 4899 exit signal Segmentation fault (11)

Es decir, no me aportaba nada, un misterio, y tampoco encontré ninguna referencia útil buscando “wordpress segmentation fault“. Me tocó poner sobre la mesa todas mis habilidades de depuración y a base de echo’s y exits ir siguiendo la pista hasta llegar al punto donde saltaba el error. Tras un par de horas llegué a la conclusión de que el problema estaba en la función wp_filter_kses del archivo:

wp-includes/kses.php

Faltaba saber por qué provocaba un Segmentation fault y no un error de PHP estándar. Descubrí además que reescribiendo el mismo archivo sin hacer cambios, es decir, cambiando la fecha de actualización, todo comenzaba a funcionar correctamente… hasta que volvía a fallar. Raro, raro, raro…

Teniendo ya una referencia clara del origen del problema, una sencilla búsqueda de “kses.php segmentation fault”  me condujo al origen del problema, y éste no era otro que el sistema de cacheo que se utiliza en el servidor, eAccelerator. Al parecer, y sin una causa lógica, la caché de ese archivo se corrompe periódicamente y al intentar leerlo provoca el “Segmentation fault“. Tiene sentido entonces que al cambiar la fecha del archivo volviese a funcionar, este cambio provocaba que se regenerase la caché del mismo y funcionase correctamente.

La solución es indicarle a eAccelerator que no cachee ese archivo concreto. Para ello añadimos al archivo de configuración:

/etc/php.d/eaccelerator.ini

eaccelerator.filter="!*kses.php"

Con esto se acabaron los pantallazos en blanco, espero recuperar algo de las visitas perdidas las últimas semanas ya que ha estado la mayor parte de las vacaciones caído por culpa de este error.

WordPress Mobile Pack, plugin para movilizar tu WordPress

Menuda sorpresa me he llevado hoy al leer esta noticia.

Ha habido otros intentos de hacer algo similar pero ninguno llegaba a la perfección que roza este nuevo plugin ya que lo ajusta todo al terminal del cliente, desde las imágenes hasta la paginación de artículos. En el link de presentación tenéis toda la información. No podía ser menos viniendo del organismo “oficial” de la web móbil, dotMobi.

Entre las características que me parecen importantes y fundamentales en un producto de este tipo y que hasta ahora otros habían obviado limitándose a presentar un blog menos recargado:

  • Detecta el móvil del cliente y consulta la base de datos de DeviceAtlas para obtener sus características (tamaño de pantalla, colores…).
  • Puedes hacer que cualquier petición a un dominio sea automáticamente móvil independientemente del dispositivo que acceda (m.tudominio.com).
  • Selección de temas concretos para la versión móvil independiente del web. No tienes que empezar de cero.
  • Versión móvil del panel de administración para publicar directamente desde tu dispositivo.
  • Paginación de artículos. En otros productos se mostraban en una sóla página y no todo el mundo escribe artículos pequeños 😛 .

Ahora me toca personalizar el tema, pero aquí tenéis mi blog en un Nokia N95.

Cerebro en la Sombra para móviles

Os recomiendo que le echéis un ojo ya que es muy interesante y hace todo el proceso de movilización de tu blog extremadamente sencillo.

Actualizado a WordPress 2.7.1

Por fin, ya era hora. He pasado de la versión 2.3 a la 2.7.1 directamente, sin pasar por la casilla de salida que se dice. La verdad es que ha sido todo muy cómodo y no me ha dado ningún problema, todo ha funcionado a la primera y en media hora tenía todo funcionando.

¿Lo peor? Los cambios, muchos, tendré que esperar a acostumbrarme a la nueva interfaz para criticar algo 😛 . Me pierdo por todas partes y encima me queda menos espacio para todo.

Lo primero que me ha resultado raro e incómodo respecto a cómo solía trabajar es la nueva interfaz de subida de imágenes. Antes podía estar subiendo y escribiendo simultáneamente, ahora no, si subo no escribo y viceversa. Sin embargo se ha ganado comodidad al poder subir varios archivos de golpe. Veremos dentro de un par de semanas qué opino.

WordPress Global Translator Plugin, traducciones de tu blog en 34 idiomas

Llevaba un tiempo con la idea de añadir traducciones de los artículos más leídos pero no quería tener que hacerlo a mano. Había barajado la posibilidad de linkar directamente a las herramientas de idioma de Google, sin embargo esta mañana encontré un plugin que lo hace todo automáticamente de manera mucho más elegante ya que, utilizando las API’s de distintos servicios de traducción (Google, Babelfish…), genera los artículos en los demás idiomas completamente integrados en tu blog y, además, los cachea para mejorar el rendimiento.

traduccion.jpg

Una vez instalado debes activar el plugin desde el panel de administración de tu WordPress y configurarlo indicando qué motor de traducción vas a utilizar, cuál es el idioma nativo de tu blog y cuáles de las 34 traducciones posibles vas a mostrar en tu blog. Es recomendable reducir al principio el parámetro “Allow only a traslation request every X seconds” a un valor pequeño para que se generen rápidamente las traducciones de todos tus artículos y se cacheen correctamente, posteriormente podrás aumentarlo sin problemas.

Eso es todo, verás en la sidebar de tu blog el nuevo bloque con las banderas de los idiomas que hayas habilitado.

Os recuerdo que un sistema de traducción automático es éso mismo, automático, no esperes que las traducciones sean correctas ni mucho menos, es algo aproximado para entender el texto traducido, no una traducción fiel y real.