Solucionando bloqueos del sitio.
¿Qué hacer cuando algo bloquea el sitio?
Suele suceder, de vez en cuando, que algún trozo de código produce un error fatal que hace que Drupal muestre una pantalla en blanco.
Muchas veces este error es causado por un error en el código de un bloque que ejecuta un script en PHP.
Pero también puede suceder por otras razones. Principalmente si las dependencias de un módulo se rompen o si hay algún inconveniente con los handlers de Views.
Para solucionar este tipo de problemas es necesario conocer un poco de bases de datos, de programación en PHP y tener acceso a los archivos del servidor, preferentemente a través de SSH.
Solucionando problemas con los bloques:
Aagggh! Activé un bloque y mi sitio murió!. Este tipo de comentarios suele ser habitual en los foros de Drupal. Antes que nada, usted debería probar el código de su bloque en otro lugar antes que en el bloque mismo.
Creando una página y seleccionando el formato de entrada Código en PHP puede observar que efecto tendrá la ejecución del script de forma “segura”.

No obstante, si usted ya tiene ese problema en su sitio y lo que necesita es la solución, aquí esta la explicación.
Los bloques almacenan su código en dos tablas. La tabla Blocks, y la tabla Boxes. Blocks contiene todos los datos relacionados con el bloque, salvo su codigo interno. Esto es asi pues algunos bloques se ejecutan directamente desde un módulo y no alojan su funcionamiento en la base de datos.

Por otro lado la tabla boxes contiene el contenido de aquellos módulos creados con la interfaz gráfica de Drupal.

Para deshabilitar un módulo lo que alguien debería hacer es editar el valor del campo status. Cambiando este valor a 0 el bloque queda desactivado.

Sin embargo puede suceder que aún habiendo cambiado este valor el sitio siga fallando.
Esto puede suceder si usted tiene activado el cache de bloques. Si es así, Drupal seguirá ejecutando el bloque pues en el cache el bloque aún sigue activo.
Para borrar el cache se debe eliminar el contenido de la tabla Cache.

Sin embargo, si por ejemplo usted sabe que el error fue un punto y coma después de una sentencia en su código, tal vez desee cambiar el código directamente desde la base de datos. Esto se hace en la tabla boxes.

Recuerde igualmente borrar el cache para que los cambios sean apreciables.
Solucionando problemas con dependencias:
Ups... Borre el módulo Tokens y ahora todo el sitio no funciona...
Ante todo, tenga en cuenta algo. La desinstalación de módulos debe hacese primero en la sección Administrar → Construcción del sitio → Módulos. Si usted no desactiva correctamente un módulo y lo borra físicamente desde su servidor, ocurren cosas malas, en la mayoría de los casos.
Para solucionar este tipo de problemas tiene que desactivar todos los módulos que tengan dependencias “rotas”.
Si usted conoce cual es el módulo que está trayendo problemas, simplemente acceda a la tabla system y cambie el valor del campo status a cero. Luego borre el cache y problema solucionado.

Puede suceder que haya varios módulos que tengan problemas con las dependencias. En este caso puede utilizar el comando egrep desde la consola para encontrar estos módulos. Este caso solo es aplicable a servidor con linux.
egrep -unr '= content$' .Este comando ejecutado en la raíz de su instalación de Drupal mostrará todos aquellos módulos que dependan del módulo content para funcionar. No es perfecto pero es una forma simple de encontrar dependencias.
Otra de las razones por las cuales suele suceder esto es que movio su sitio entre dos servidores con estructuras de directorios distintas.
Si utiliza un sistema multisitio y los directorios entres sites/nombre_del_sitio/modules no son las mismas seguramente su sitio quedará en blanco nuevamente.
Para modificar esto puede utilizar la siguiente instrucción sql
UPDATE system SET filename = REPLACE(filename, 'nombre_del_sitio_antiguo', 'nombre_del_sitio_nuevo');Sin embargo, antes intente acceder directamente a admin/build/modules una vez que inició sesión con el administrador. En la mayoría de los casos es suficiente para que se actualice la tabla system de forma automática.
Problemas con views 2:
Esto posiblemente no le ocurra nunca si no es programador. Pero por si a caso. Views 2 contiene un complejo sistema de handlers. Estos manejadores se encargan de procesar todo, filtros, campos, formas de ordenar en un views, etc.
Suele suceder que a veces un handler mal programado, por alguna razón, ya sea una configuración erronea que dispara un bug no descubierto o porque simplemente esta programando un nuevo módulo que interactúa con views, hace que toda la vista colapse.
Un error en algún handler mientras se procesa la vista hace que toda la página se vea en blanco.
Siempre es mejor prevenir que curar, así que cuando no este seguro de la estabilidad de un módulo que trabaja con views. Digamos porque está en estado beta aún, siempre haga un respaldo de su base de datos.
Volver atrás un cambio en una vista es extremadamente complejo desde la base de datos. Toda la configuración de la vista se guarda en una estructura serializada lo que hace casi imposible volver atrás un cambio.
Entonces ¿que hago?. Bueno el mejor consejo que puedo dar es reconstruír la vista desde cero. Entiendo que no es la mejor respuesta, pero la complejidad de views hace que este sea el mejor modo de volver atrás.
Puede sin embargo animarse a exportar la vista y hacer una importación borrando las partes que considere problemáticas. Sin embargo no se lo aconsejo a no ser que usted se llame Earl Miles.
Los errores con views generalmente se deben a un problema en el código del módulo que está procesando views en ese momento. Si usted detecta la falla lo menos que debería hacer es crear un reporte de error en la página del módulo defectuoso. Si sabe como corregirlo, cree un parche, y sino intente describir las condiciones bajo las cuales se produce el error.
Conclusiones:
Siempre trabaje sobre un servidor de pruebas. Si falla en un sitio en producción y no puede resolverlo rápidamente perderá visitantes, y hasta su trabajo.
Haga copias de seguridad antes de instalar módulos poco confiables.
No cree bloques con PHP sin antes haberlo probado en otro lado.
No borre los módulos directamente desde el servidor sin antes haberlos desactivados desde su sitio.
Siguiendo estas recomendaciones seguramente podrá mantener sus sitios estables por mucho más tiempo.
- 2657 lecturas
Contenido Relacionado
Resumen
Este artículo explica como se configuraron los dos módulos más utilizados en cualquier sitio con Drupal. CCK y Views. Como se utiliza una versión de Drupal 6 se trabajará con CCK 2.x y Views 2.x
Inicio de sesión
Comentarios recientes
- no aparece la galeria de galerias
hace 17 horas 50 mins - dependencia de modulo desaparecida
hace 1 día 10 horas - Nombre del Sitio + Nombre de Carpeta
hace 1 semana 21 horas - Gracias
hace 14 semanas 4 días - Tutorial espectacular
hace 19 semanas 19 horas - Muchisimas gracias, realmente
hace 20 semanas 2 días - Re: no puedo ver los videos
hace 20 semanas 5 días - no puedo ver los videos
hace 20 semanas 5 días - Gracias
hace 21 semanas 2 días - Re: Añadir regiones en drupal 6
hace 22 semanas 1 día

Comentarios
Muy buen material
Gracias Mariano, como siempre muy buen material, este tipo de informacion si uno no la tiene puede perder varias horas o dias buscando por alli y por alla, gracias.
Enviar un comentario nuevo