Fork me on GitHub
Fork me on GitHub
Donar Ahora!
Seleccione una cantidad para donar


¿Quiere que su nombre de usuario sea revelado con su donación?
Si - Listeme como un geneoso donante
No - Liste mi donación como un donante anónimo


Usuario
Bienvenido
Haz click para registrarte. Es gratuito y podrás utilizar todos los recursos de la web

Login

Recuerdame

¿Perdió su contraseña?


Online
Conectados: 23
Miembros: 0
Invitados: 18
Buscadores: 5

Estadísticas
Nuevos miembros: [BillyStilw-25/10/2017] [Teacher194-24/10/2017] [TimmyAngel-18/10/2017] [Leblanc-18/10/2017] [HealthyNut-17/10/2017] [HalliePerk-12/10/2017] [ShadBlais-8/10/2017] [WilburCruc-1/10/2017] [Ulanowski7-25/9/2017] [KaleyKlem-23/9/2017]
Registrados: 30176
Hoy: 0
Ayer: 0

Conectados:
usInvitadoForos
usInvitadoTitulares
usInvitadoForos
usInvitado
usInvitadoForos
usInvitadoForos
onlineInvitadoPerfiles extendidos
usInvitadoForos
usInvitadoForos
usInvitadoFAQ
usInvitadoForos
usInvitadoTitulares
gbInvitadoForos
usInvitadoForos
usInvitadoForos
usInvitadoTitulares
usInvitadoForos
usInvitadoForos
SmartFAQ is developed by The SmartFactory (http://www.smartfactory.ca), a division of InBox Solutions (http://www.inboxsolutions.net)

¿Porqué sale una página en blanco en mi sitio?
Requested and Answered by Bezoops on 15-Jan-2008 10:27 (10807 reads)
Todas las llamadas "página en blanco" en Xoops, tienen su origen en un script (pequeña función dentro de un programa) que termina de manera imprevista sin completar su tarea. La finalidad de esta página es avisarle de que active el modo depuración (debug) para que tenga una visión más significativa de por qué ha ocurrido dicho problema, después de ver los mensajes de error que ha emitido. Recuerde, siempre hay un error que ha causado dicha "pagina en blanco", pero atento, que no será fácil encontrarlo.

Si escribe un mensaje en los foros indicando solamente "Ayuda, página en blanco", es difícil que le puedan aconsejar, porque nadie conoce cuál es el error. La mejor manera de ayudarle es que añada una lista con los errores (lea la sección B.0). Tampoco olvide mencionar: la versión de xoops, si la actualizó desde una anterior, las versiones propias del servidor como MySql, Apache (u otro), PHP, y además que Theme visual y Plantillas (templates) está usando. También sería interesante que indique si tiene instalados módulos no estándar y cuáles.

** Revise si el error sucedió después de alguna acción en particular, como instalar un módulo nuevo, cambiar o actualizar plantillas, agregar nuevo Theme, cambiar de hosting, etc.

A: Como activar la opción de depuración (debug):
=
1. Si puede acceder al menú de Administración, vaya a Preferencias, Configuración generales, y en la casilla de "¿Prender el modo debug?" elija "Debug PHP"

2. Si no puede acceder a la página de administración, pero tiene acceso a su base de datos a través de MySqlAdmin, introduzca el siguiente comando SQL (sin las comillas): "UPDATE xoops_config SET conf_value=1 WHERE conf_name = 'debug_mode'". Atención, que "xoops_config" debe cambiarlo teniendo en cuenta el prefijo que tengan las tablas de su base de datos, según las configuró cuando instaló xoops, o si lo ha modificado posteriormeente (como puede hacerse con el módulo Protector).
(NOTA: No funciona con XOOPS 2.2 Vea la sección 2a)

2a. En XOOPS 2.2, vaya a la carpeta raíz de su sitio, y añada el nombre del fichero "recovery.php" Puede activar el modo depuración a través de las opciones que aparecen en él.

3. Si no puede acceder a la página de administración ni a la base MySql, y no le importa modificar sus ficheros PHP, edite "include/common.php". Aproximadamente en la línea 83 (** 184 en versión 2.0.17 y 18), cambie "error_reporting(0);" por "error_reporting(E_ALL);".

4. Si aún así no obtiene informes de error, puede que su servidor o proveedor tenga desactivada la opción de modo depuración en los ficheros "/etc/php.ini" (linux) o "WIN_DIRECTORY/php.ini" (windows). Asegúrese de que incluyen una linea con lo siguiente: "display_errors On".

5. Si no puede modificar dichos ficheros (caso de hosting compartido), y el servidor es Apache, puede crear un fichero ".htaccess" para sobreescribir la configuración local por defecto. Dicho fichero ha de contener la linea: "php_flag display_errors on". Lo difícil es DONDE poner dicho archivo. Fíjese en la URL que le dá problemas y ponga el fichero en dicho directorio. P.ej., si es "misito.com/xoops/" o "misitio.com/xoops/index.php", póngalo en dicho directorio raíz, pero si es "misitio.com/xoops/modules/system/admin.php", póngalo en el subdirectorio "modules/system" de su xoops. Y así con todos.

B: Errores mas habituales, y como corregirlos (fix)

0. Cada vez que se produzca un error, ya puede empezar a diagnosticar el problema. Como regla general, ignore todos los que empiezan por 'Notice' o 'Warning'. El que realmente ha tener en cuenta, es el que indica 'Fatal Error'.

Si no se ha producido ningún error de este tipo, lea la sección "C: Posibles correcciones" y pruebe con las sugerencias que se detallan.

Haga su lista de mensajes de error, y vea los remedios que puede intentar según el mensaje emitido. (Por favor, si observa otro tipo de mensajes de error PHP que definan mejor el problema, agrégelos a esta lista tranquilamente.)

1. "Failed opening required..." or "Undefined function..."

Frecuentemente indica que el fichero correspondiente no ha podido cargarse. Siga los siguientes pasos (**):
- Primero compruebe si el fichero existe en su localización.
- Si es así, compruebe los permisos de acceso de dicho fichero para estar seguro de que el servidor lo puede LEER.
- También es posible que el fichero este corrompido. Vuelva a enviarlo por FTP y haga las comprobaciones.
- O puede que su programa de FTP halla cambiado el nombre del fichero o directorio. Compruebe las opciones de dicho programa, como que esté activada "conservar la estructura de directorios", NO activada "forzar en minúsculas, force lowercase", etc. Y pruebe de nuevo a subir/instalar los ficheros.

2. "Call to a member of a non-object"

Normalmente es un fallo que se produce cuando trata de conectarse a la base de datos. Si el informe de error es cerca de la línea 286 (293 en xoops 2.0.18) del fichero kernel/configitem.php, casi seguro que ese es el problema. Compruebe la información de la base de datos en mainfile.php: que tiene configurados correctamente los permisos de acceso a la base, y que actualmente está activa y funcionando. En concreto, intente acceder a la base de datos directamente, preferiblemente con los mismos nombres de usuario y contraseña de su instalación. Observe si, después de haber cambiado los permisos de usuarios desde mysql, puede ejecutar el comando "flush-privileges" desde MyAdminSql (realiza una de las opciones del comando FLUSH de SQL para limpiar la caché de la base de datos), y/o reiniciar su servidor de base antes de que se apliquen los nuevos ajustes.

También este error puede tener otras causas. Si sabe de PHP, busque el fichero y linea culpable. Por ej, si en esa línea ve "$xoopsDB->query('etc');" es que $xoopsDB no se ha podido iniciar como Objeto, lo que indica que no se ha conectado a la base de datos. Pero va a tener que sondear un poco más para solucionar el problema.

3. "Cannot redeclare class ..."

La causa más frecuente de este error es la instalación de módulos no estándar. Algunos módulos todavía están en etapas de desarrollo y puede que no hayan sido adaptados a xoops 2 completamente o no haber sido evaluados apropiadamente con xoops 2 y con otros módulos. Probablemente el autor del módulo ha usado "include" donde debería haber usado "include_once". Generalmente el archivo que produce el mensaje de error, le mostrará qué módulo es el culpable. Evidentemente puede desactivarlo y observar los resultados.
* O puede ir a la linea mencionada, y cambiar include('nombre_fichero'); por include_once('nombre_fichero');

C. Posibles arreglos [fixes] (recopilación de los foros de XOOPS)

A continuación se detalla una lista con las correcciones aportadas por otros usuarios en los foros. Cada caso depende de la instalación que halla realizado. La lista no sigue ningún orden, fíjese si alguna de las situaciones descritas le puede ayudar a solucionar su error en particular.

[1] En php.ini,
asegúrese de que está "register_globals = on". Puede verificarlo creando un script de prueba (un fichero con extensión .php) con esta línea de código solamente: <?php echo phpinfo(); ?>

NOTA: el sistema de XOOPS debe de trabajar bien sin cambiar este valor, pero algunos módulos no pueden y producirán páginas en blanco. Active la casilla de opciones de depuración, pues le puede ayudar a obtener una idea general de qué sección o módulo está causando el error .

[2] A veces el módulo PHP GZIP no está correctamente compilado con PHP. Vaya a administración de XOOPS -> preferencias -> Ponga a "No" la casilla de soporte para GZIP.

[3] Asegúrese de tener configurados correctamente XOOPS según las directrices indicadas de permisos CHMOD en los directorios de cache para un servidor bajo UNIX.

[4] Vuelva a copiar al servidor el Theme que esté usando. A veces se puede corromper algún fichero al enviarlo via FTP upload. Envíe phpkaox y elíjalo como Theme por defecto.

[5] Asegúsere de que su servidor tiene instaladop PHP 4.12 or mayor. Es mejor si tiene 4.22 por parches de corrección de errores PHP)

[6] Verifique que otro CMS como PHPNuke, PostNuke, etc no crea conflicto con XOOPS.

[7] Asegúrese de que los permisos de los directorios cache, uploads, templates_c son CHMOD 777 o anonymous r/w en Windows.

[8] Pruebe cambiando a Off - Safe Mode en el servidor. (No recomendable si el servidor no es seguro).

[9] Vuelva a comprobar los permisos según que directorios:

755 - todos los directorios que NO necesitan permiso de escritura del servidor.
777 - todos los directorios que SÍ necesitan permiso de escritura del servidor.
644 - todos los ficheros que NO necesitan permiso de escritura por servidor.
666 - todos los ficheros que SÍ necesitan permiso de escritura por servidor.
444 - mainfile.php
(** Compruebe que cambian el valor elegido si lo hace desde su programa FTP. Si no los modifica, hágalo desde el Panel de control de su alojamiento en la opción de "File manager")

[10] Pruebe cambiando al Theme default. Hay algunos reescritos para xoops 2 desde xoops 1 convertidos a xoops 2 con errores. Si se corrigen los errores, ya tienes localizado el orígen. Si de verdad el problema es con el Theme, también es buena idea describirlo en los foros o comentárselo al autor.

[11] Pruebe desactivando los módulos no-estandar de xoops o cualquier otra cosa que no tenga que ver con xoops. Si no puede acceder a administración, trate de hacerlo accediendo directamente a las tablas via mysql o phpmyadmin. Algunos módulos han sido lanzados sin probar del todo. Si se corrige el error, pruebe a activarlos uno a uno para detectar el erroneo. Si encuentra un problema con un módulo, es buena idea describirlo en los foros o comentárselo al autor.

[12] Agregado por carnuke: borre todas las lineas en blanco de mainfile.php, fundamentalmente si está al final del script, pues se ha dado el caso de producir el error.
EXPLAIN: Warning [PHP]: Cannot modify header information - headers already sent by (output started at /home/myname/public_html/mainfile.php:101) in file user.php line 59

[13] Compruebe si la extensión mysql se carga en php.ini:
extension=mysql.so---

--- Detalles extras agregados por Max-Realms el 26/03/2005/ 1:06:34

En mi caso, aparecía una página en blanco sin mensajes de error. Después de gastar un monton de tiempo en localizar el problema, encontre que mi usuario de la base de datos había superado el valor max_questions (50,000 por hora.).

Dado que mi servidor está en modo alojamiento, no podía cambiar nada. Sin embargo, descubrí que podía crear otras bases de datos sin dicha limitación, y solucioné el problema. No sé mucho de MySql, pero quizá cuando una base la usan múltiples usuarios, se comparte la carga.

Si es cierto, sería buena idea que en el fichero mainfile.php y/o en los ficheros de sistema de instalación, salte a la siguiente base libre cuando una exceda los límites. David

Goodman
http://www.max-realms.com"

--- Más detalles enviados por GlaDiaC el 2005/7/25 14:34:04

¿Usa su cpanel X File Manager?
El editor de ficheros de cPanel, X File Manager, a veces agrega retornos de carro en los ficheros PHP (después de the !>). Edite sus ficheros PHP de otra manera y súbalos al servidor después o vuelva a editarlos suprimiendo las líneas extras.

--------------------
| Artículo original: http://www.xoops.org/modules/smartfaq/
--------------------


Los usuarios son responsables de sus propios comentarios.