Arrojando luz a los típicos errores de Joomla

Este artículo es un intento de echar un poco de “luz” sobre el oscuro mundo de los errores que surgen cuando se utiliza Joomla CMS (en general, cualquier programa de alta complejidad). [Recomendamos leer tambien los problemas para la visualización de páginas web]

Para detectar errores es de gran utilidad activar las opciones de la configuración global:

Debug Site: (en la lengüeta “site”) – En caso de surgir problemas se recomienda activar esta opción que nos muestra en pantalla las “queries executed“, es decir las sentencias y los posibles errores del sistema cuando se comunica con la base de datos.
Error Reporting: (en la lengüeta “server”) – Esto activa el nivel de errores mostrados por el depurador de PHP. Sus posibles valores son:
System Default (muestra los errores predeterminados en el php.ini del server)
None (no muestra los errores)
Simple (muestra los errores de sintaxis, errores fatales y advertencias)
Maximum (muestra todos los errores: notificaciones, errores fatales, advertencias, y errores de sintaxis)

A continuación distintos tipos de errores que surgen al instalar o utilizar Joomla.


Mensajes de Error de PHP / SQL típicos de Joomla

Ejemplo o descripción del Error Posible/s causa/s Posible/s solución/es
Warning: main(/www/user/public_html/includes/compat.php50x.php): failed to open stream: No such file or directory in c:\apache1\htdocs\joomla\includes\joomla.php on line 66Fatal error: main(): Failed opening required ‘/www/user/public_html/includes/compat.php50x.php‘ (include_path=’.;C:/Archivos de programa/EasyPHP1-8\php\pear\’) in c:\apache1\htdocs\joomla\includes\joomla.php on line 66 Observar la diferencia entre /www/user/public_html/includes/ y c:\apache1\htdocs\joomla. Esto sucede cuando subimos al servidor remoto el configuration.php que se utiliza en el servidor local, o viceversa. Corregir los paths y url de configuration.php
Warning: main(includes/joomla.php): failed to open stream: Permission denied in /www/joomla/public_html/index.php on line 25 Permiso denegado al archivo que ejecuta la sentencia Revisar los permisos CHMOD de los archivos
Warning: copy(): SAFE MODE Restriction in effect. … in /home/… /script.php on line 35 El servidor de PHP está configurado en modo seguro activado. No podrán instalarse componentes, módulos, etc. desde la administración de Joomla Instalar el parche para Safe Mode o cambiar de proveedor de hosting
Notice: Undefined offset: 1 in c:\apache1\htdocs\joomla\templates\ rhuk_solarflare_ii\index.php on line 6 No está definido el conjunto de caracteres en la linea 6 del index.php del template:
echo ‘$iso[1] .'”?’ .’>’;
Corregirlo manualmente en el template o definir la constante en el archivo de idioma
Warning: Cannot modify header information – headers already sent by (output started at c:\apache1\htdocs\joomla\index.php:129) in c:\apache1\htdocs\joomla\index.php on line 212 No pueden modificarse las cabeceras porque estas ya han sido enviadas anteriormente. Este error nunca aparece solo en Joomla, sino cuando suceden otros errores antes que provocan un envío de headers con anterioridad al definido en index.php (lineas 210 a 214) La solución a este problema consiste en solucionar primero la causa de los otros errores de PHP anteriores a los de este tipo. (información de cabecera reenviada)
Notice: Use of undefined constant _READ_MORE – assumed ‘_READ_MORE‘ in C:\apache1\htdocs\joomla\components \com_content\content.html.php on line 417 Constante sin definir. Siempre va acompañado muchas notificaciones más en el cuerpo de la página, también se muestra con otra advertencia: “Warning: main(language/spanish.php): failed to open stream: No such file or directory in c:\apache1\htdocs\joomla\index.php on line 129
“. Esto sucede cuando no existe el archivo de idioma que está seleccionado en la configuración
Cambiar la configuración al idioma inglés o subir a la carpeta /language/ el archivo de idioma que falta. En este ejemplo es spanish.php
Warning: main(includes/joomla.php): failed to open stream: No such file or directory in c:\apache1\htdocs\joomla\index.php on line 25Fatal error: main(): Failed opening required ‘includes/joomla.php’ (include_path=’.;C:/Archivos de programa/EasyPHP1-8\php\pear\’) in c:\apache1\htdocs\joomla\index.php on line 25 No se pudo incluir un archivo requerido por otro porque no se encuentra, o tiene otro nombre Comprobar que el archivo que se ha de incluir exista. Si no existe, subirlo nuevamente.
Parse error: parse error in c:\apache1\htdocs\joomla\configuration.php on line 66 Archivo corrupto o archivo al cual se le ha manipulado el código de manera incorrecta Revisar la sintaxis de php del archivo que arroja el problema, o reemplazarlo por uno nuevo que esté íntegro
ERROR EN MÓDULO:
MB DB function failed with error number 1146
Tabla ‘joomla.jos_polls’ no existe SQL=SELECT p.id, p.title FROM jos_polls AS p, jos_poll_menu AS pm
Si este error aparece donde debería cargar un módulo, la causa de esto es que no existe el componente asociado al módulo, y por ende tampoco la tabla desde donde tiene que realizar la consulta el mod para mostrar los datos en pantalla Despublicar el módulo e instalar el componente asociado a él, luego publicar nuevamente el módulo.
DB function failed with error number 1146
Tabla ‘joomla.jor_session’ no existe SQL=SELECT session_id FROM jor_session WHERE session_id = MD5( ‘d036e3c57609f106a0cee73641a39227’ )
Problemas en la base de datos: se trata de acceder a una tabla que no existe o que tiene el prefijo incorrecto. Revisar configuration.php y comprobar que la variable “$mosConfig_dbprefix” tenga el prefijo que usan las tablas, por ejemplo: ‘jos_’;

Otra opción es chequear vía phpMyadmin que las tablas estén íntegras y optimizadas

Notice: Undefined offset: 0 in c:\www\… \com_installer\ftp.installer.class.php on line 29

Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at c:\www\… \com_installer\ftp.installer.class.php:29) in c:\www\… \administrator\index2.php on line 44

Este error se produce cuando hay una variable indefinida, o esta se inicializa con un valor nulo, cuando no debería ser así No hemos podido reproducir este error con JOOMLA aún.

Errores típicos de mala programación en módulos, componentes, o mambots

Los siguientes son errores típicos que surgen cuando se instalan componentes, módulos o mambots que son incompatibles con una versión de Joomla, o cuando simplemente tienen fallos de programación “bugs” (Tener en cuenta que quienes crean componentes y módulos muchas veces no son expertos programadores)

Fatal error: Class mosaro: Cannot inherit from undefined class mosdbtable in c:\apache1\htdocs\joomla\includes\gacl_api.class.php on line 1790
Parse error: parse error, expecting `T_OLD_FUNCTION’ or `T_FUNCTION’ or `T_VAR’ or `’}” in c:\apache1\htdocs\joomla\includes\joomla.php on line 108
Fatal error: Cannot instantiate non-existent class: mosmainframe in c:\apache1\htdocs\joomla\index.php on line 94
Fatal error: Call to a member function on a non-object in c:\apache1\htdocs\joomla\includes\joomla.php on line 745

Interpretando errores PHP:

Ejemplo: “Warning: fopen(/directory/file.txt): failed to open stream: Operation not permitted in /home/…/script.php on line 37

Significa algo así como “Advertencia: no pudo ser abierto el archivo “/directory/file.txt”. Operación denegada en “/home/…/script.php” en la linea 37

Errores HTTP en Joomla (errores de servidor-navegador)

Ejemplo o descripción del Error Posible/s causa/s Posible/s solución/es
404 – “página no encontrada” o

“no se puede encontrar el servidor”

1) Archivo de configuración no existe o está con otro nombre.

2) Otra causa posible es que el servidor esté caído.

3) Este error es común también cuando se activa un SEF pero el módulo mod_rewrite de Apache está desactivado o el archivo .htaccess está corrupto o no existe

1) Revisar la existencia, integridad, y permisos de configuration.php

2) Si el servidor está caído, cuando vuelva a estar operativo se solucionará

3) Deshabilitar el SEF o verificar la existencia e integridad de .htaccess

Error 505

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, // <![CDATA[
var prefix = 'ma' + 'il' + 'to';
var path = 'hr' + 'ef' + '=';
var addy84637 = 'admin' + '@';
addy84637 = addy84637 + 'host' + '.' + 'com';
document.write( '‘ );
document.write( addy84637 );
document.write( ” );
//\n
// –>
// ]]>
admin@host.com// Este correo electrónico esta protegido de \†Spam Bots\†, debes tener Javascript activado en tu navegador // <![CDATA[
document.write( '’ );
// ]]> and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

1) El directorio en el cual poseas tus scripts sólo debe tener permisos de escritura para su propietario, al igual que los archivos dentro de éste (permisos 755). Generalmente este error lo recibes al momento de ejecutar algún scripts php cuando estos se encuentran en un directorio con permisos 777
2) Otro motivo por el cual puedes recibir este error, es porque los archivos php posean permisos distintos a 644 o bien por intentar ejecutar estos archivos dentro del directorio cgi-bin.

3) Tambien sucede este error cuando existe un .htaccess mal configurado en el directorio donde aparece el error.

1) Setear correctamente los permisos de directorios (CHMOD 755)

2) Setear correctamente los permisos de archivos php (CHMOD 644)

3) Renombrar el .htaccess y si se soluciona el problema al hacerlo, corregir la directiva de este archivo que provoca el error

Advertencia: la página ha caducado Hubo un error al procesar datos enviados por POST. Este no es un error para preocuparse. Actualizar la página e intentar nuevamente

Errores del sistema y otros

Ejemplo o descripción del Error Tipo de error Posible/s causa/s Posible/s solución/es
This site is temporarily unavailable.
Please notify the System Administrator
Error del sistema Joomla no puede conectarse a la base de datos, ya sea porque no hay acceso al usuario o db especificada en configuration.php, ya sea porque el servidor de mysql no está operativo o caido Revisar configuration.php para ver si los valores de conexión a la base de datos son válidos. Si eso está todo OK, tratar de entrar a la base de datos vía phpMyadmin y si vemos que esto no es posible contactar con el soporte técnico del servidor de hosting para comunicarles el problema.
Restricted access (En Mambo esta misma advertencia era: “Direct access to this location is not allowed!”) Error del sistema 1) Se ha tratado de acceder mediante el navegador a alguno de los archivos de funcionamiento del sistema

2) Esto aparece también en los popups para insertar imágenes o archivos en el editor htmlarea

1) Ninguna solución. simplemente no se puede acceder a estos archivos por cuestiones de seguridad

2) Corregir el valor del parámetro $mosConfig_live_site en configuration.php y colocar la URL correcta (incluir www)

The XML page cannot be displayed
Cannot view XML input using style sheet. Please correct the error and then click the Refresh button, or try again later…. Error processing resource ‘http://www.joomlaos.net/index.php&#8217;. Line 1, …

“;?>
–^

XML Este error suele surgir cuando XML parsea un caracter extraño que no se reconoce en su codificación.

El código de salida correcto debe ser:

No hemos podido reproducir este error aún y no nos ha ocurrido con Joomla para poder analizar las causas (si tu ya sabes acerca de él comunícanoslo por favor)

Si sucede este error en el frontend, el problema es el template en uso. Al cambiarlo o corregirlo se solucionará automáticamente

No se puede mostrar la página XML
No se puede ver la entrada XML con la hoja de estilo XSL. Corrija el error y haga clic en el botón Actualizar, o inténtelo de nuevo más tarde.
idem anterior idem anterior idem anterior
Could not find XML File Error del sistema Típico error de cuando se intenta instalar componentes, módulos, mambots, templates o idiomas y el archivo XML no existe Descomprime en tu PC el instalador del componente o módulo en cuestión y verifica que exista el archivo XML
For your security please completely remove the installation directory including all files and sub-folders – then refresh this page Error del sistema El directorio installation existe pero el sistema ya está instalado y esto supone una inseguridad Borrar el directorio installation
(Error de Login) Advertencia de IE: “Internet Explorer no puede abrir el sitio… Operación anulada” Navegador Problema de incompatibilidad del navegador Internet Explorer con una cookie creada al usuario Probar con otros navegadores, o eliminar las cookies de Internet Explorer, luego cambiar de template del sitio y volver a intentar.
“Listo pero con errores” (se muestra en el ícono de la barra de status del navegador) Javascript Generalmente estos conflictos de Javascript surgen en los editores WYSIWYG de Joomla, o también cuando se instalan componentes o módulos que hacen uso de funciones Javascript cuyos archivos fuente no se pueden cargar o no existen. -Utilizar otro editor
– Desinstalar e instalar nuevamente el editor que causa el problema
– verificar que la URL de $mosConfig_live_site en configuration.php es correcta (debe incluir www)

Problemas de Joomla que surgen pero no muestran mensaje de error

Ejemplo o descripción Posible/s causa/s Posible/s solución/es
Joomla carga solo el html del sitio pero no sus estilos, ni sus imágenes, ni sus javascripts. (Se ven los contenidos sin formato y sin cargar las imágenes) 1) La URL del sitio especificado en la configuración global con la variable $mosConfig_live_site es erróneo

2) El template tiene mal asignados los enlaces de CSS y/o imágenes

1) Corregir el valor del parámetro $mosConfig_live_site en configuration.php y colocar la URL correcta (incluir www)

2) Revisar el código fuente de index.php del template en cuestión

Aparecen en las páginas de Joomla caracteres extraños en reemplazo de las eñes o los acentos Normalmente esto sucede al hacer back up y restaurar bases de datos entre distintas versiones de Mysql (Ej: cuando se trabaja en el servidor local y luego se sube el back up al servidor remoto) Utilizar versiones de Mysql similares (en servidor local y remotos)
Cuando se intenta loguearse en el administrador con el usuario y contraseña correctos, se ingresa en index2.php pero automáticamente se redirecciona nuevamente a la página de login Este tipo de redireccionamiento en javascript es bloqueado por el bloqueador de pop ups de Windows con SP2 En IE ve a herramientas >> opciones de internet >> privacidad >> sitios

y quita el sitio en cuestión del bloqueo, para que se permita guardar la cookie y acceder al admin

Módulos que no cargan o no se ven Template mal programado o Módulo no publicado Revisa primero que el módulo que no carga esté publicado, si es así verifica entonces que el index.php del template usado llame en el código fuente a los módulos que se deben cargar en la misma ubicación del módulo que no carga
El template se deforma o hay elementos que se superponen Template basado en Layers Utiliza un template basado en tablas o (si tienes buenos conocimientos de XHTML/CSS) edita el ancho y posición de los layers que generan el conflicto
Pantalla en blanco: no se muestra ningún tipo de error pero se carga una página en blanco 1) Ha ocurrido un error en la ejecución de PHP pero el reporte de errores está desactivado y por esa razón no se muestra

2) Se ha tratado de ingresar por URL a un directorio no válido que posee una index.htm en blanco para evitar la exploración de directorios. Ej: http://www.joomlaos.net/images/

3) El archivo que se está ejecutando está vacío (corrupto)

1) Activar el reporte de errores desde la configuración global de Joomla

2) Esto no es un problema, por lo que no tiene solución

3) comprobar que el archivo que se ejecuta no pese 0 kb, o comprobar su integridad en el código fuente.

El sistema no envía los Emails a los usuarios Si utilizas la función de Mail de PHP, esta puede estar deshabilitada en el servidor. Si utilizas SMTP o Sendmail pueden estar mal los datos. Revisa la configuración global en la lengüeta Mail

Pasteado de Joomlaos.net

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s