Error al intentar acceder a la sección "Mis mensajes"

Started by Madirex, August 07, 2017, 03:05:17 PM

Previous topic - Next topic

Madirex

SMF 2.0.14

¡Un error ha ocurrido!
syntax error, unexpected '<'


He revisado el registro de errores y no se registra nada de nada.

¿Alguien sabe cuáles son los archivos que afectan a esa parte del foro? Para ir revisando uno por uno y encontrar con la solución.

Gluz

Eso debe quedar registrado en el log de errores del servidor, en el debería estar el archivo y la línea que contienen el error.

Madirex

Quote from: Gluz on August 07, 2017, 05:18:55 PM
Eso debe quedar registrado en el log de errores del servidor, en el debería estar el archivo y la línea que contienen el error.

Ya lo he explicado en el principio del tema, he mirado el log de errores y no aparece nada de nada.

Gluz

¿El del servidor o el de SMF?

Si no hay nada en el del servidor puede ser que esté configurado a que no registre errores, muchos hosts hacen eso aunque ofrecen la posibilidad de incluir un php.ini en el directorio del usuario para cambiar algunas opciones de PHP.

Para revisar, crea en tu web un archivo php con lo siguiente y deja el enlace aquí para revisar las opciones y ver si está configurado a que registre errores o no.

<?php
phpinfo
();
?>

Madirex

Quote from: Gluz on August 07, 2017, 05:31:06 PM
¿El del servidor o el de SMF?

Si no hay nada en el del servidor puede ser que esté configurado a que no registre errores, muchos hosts hacen eso aunque ofrecen la posibilidad de incluir un php.ini en el directorio del usuario para cambiar algunas opciones de PHP.

Para revisar, crea en tu web un archivo php con lo siguiente y deja el enlace aquí para revisar las opciones y ver si está configurado a que registre errores o no.

<?php
phpinfo
();
?>


He incluido el archivo que me acabas de decir, pero sigue sin registrar nada, mi host no tiene registro de errores incorporado.

Gluz

¿Qué host usas?

Podrías probar a poner en el directorio raiz un archivo llamado php.ini con el siguiente contenido:
display_errors = Off
error_reporting = E_ALL | E_STRICT
log_errors = On
error_log = error_log


Eso es para activar el registro de errores en el archivo error_log y ahí te debe registrar el archivo y la línea que fallan al cargar alguna página.

Madirex

Quote from: Gluz on August 08, 2017, 04:28:28 PM
¿Qué host usas?

Podrías probar a poner en el directorio raiz un archivo llamado php.ini con el siguiente contenido:
display_errors = Off
error_reporting = E_ALL | E_STRICT
log_errors = On
error_log = error_log


Eso es para activar el registro de errores en el archivo error_log y ahí te debe registrar el archivo y la línea que fallan al cargar alguna página.

Es un host gratuito, http://000webhost.com

Gluz

En la misma ayuda de su web está lo siguiente:
QuoteFor the error log:

    Open File Manager

    Open /public_html/.htaccess (if you have no such file, create one)
    Append these lines of code to it:
    php_flag log_errors on
    php_value error_log HOME-PATH/public_html/domain/PHP_errors.log

Replace HOME-PATH with your Home Directory: cPanel1 > Details > Home directory

Your errors should now be logged to /public_html/domain/PHP_errors.log

Que es parecido a lo que yo mencionaba, pero eso lo hacen desde el .htaccess

Si eso no funciona, te recomiendo buscar otro host, porque para corregir errores, el registro de PHP es esencial para saber dónde buscar y qué buscar, no se puede corregir un error sin saber qué lo causa.

Madirex

Quote from: Gluz on August 08, 2017, 04:53:09 PM
En la misma ayuda de su web está lo siguiente:
QuoteFor the error log:

    Open File Manager

    Open /public_html/.htaccess (if you have no such file, create one)
    Append these lines of code to it:
    php_flag log_errors on
    php_value error_log HOME-PATH/public_html/domain/PHP_errors.log

Replace HOME-PATH with your Home Directory: cPanel1 > Details > Home directory

Your errors should now be logged to /public_html/domain/PHP_errors.log

Que es parecido a lo que yo mencionaba, pero eso lo hacen desde el .htaccess

Si eso no funciona, te recomiendo buscar otro host, porque para corregir errores, el registro de PHP es esencial para saber dónde buscar y qué buscar, no se puede corregir un error sin saber qué lo causa.

[08-Aug-2017 16:55:53 Etc/GMT+5] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; uagent_info has a deprecated constructor in /storage/ssd2/992/678992/public_html/Sources/Subs-MobileDetect.php on line 249
[08-Aug-2017 16:55:55 Etc/GMT+5] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; uagent_info has a deprecated constructor in /storage/ssd2/992/678992/public_html/Sources/Subs-MobileDetect.php on line 249
[08-Aug-2017 16:56:36 Etc/GMT+5] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; uagent_info has a deprecated constructor in /storage/ssd2/992/678992/public_html/Sources/Subs-MobileDetect.php on line 249
[08-Aug-2017 17:00:51 Etc/GMT+5] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; uagent_info has a deprecated constructor in /storage/ssd2/992/678992/public_html/Sources/Subs-MobileDetect.php on line 249
[08-Aug-2017 17:05:58 Etc/GMT+5] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; uagent_info has a deprecated constructor in /storage/ssd2/992/678992/public_html/Sources/Subs-MobileDetect.php on line 249
[08-Aug-2017 17:06:40 Etc/GMT+5] PHP Deprecated:  Methods with the same name as their class will not be constructors in a future version of PHP; uagent_info has a deprecated constructor in /storage/ssd2/992/678992/public_html/Sources/Subs-MobileDetect.php on line 249

Madirex

Solo me registra ese error, y no está para nada relacionado con la sección de Mis mensajes, puesto que eliminé el archivo que no era necesario y ahora no me registra ni un solo error.

Gluz

Ese es parte del MOD Mobile Device Detect y si solo eliminaste el archivo sin desinstalar el MOD luego te va a generar errores en otras partes.

Por el error, al parecer el servidor está usando PHP 7, si tienes la opción de cambiar la versión de PHP en el cPanel, cambia a PHP 5.6, ya que con la cantidad de MODs que tienes instalado, lo mas seguro es que algunos no funcionen correctamente en PHP 7.

Madirex

Quote from: Gluz on August 08, 2017, 06:24:19 PM
Ese es parte del MOD Mobile Device Detect y si solo eliminaste el archivo sin desinstalar el MOD luego te va a generar errores en otras partes.

Por el error, al parecer el servidor está usando PHP 7, si tienes la opción de cambiar la versión de PHP en el cPanel, cambia a PHP 5.6, ya que con la cantidad de MODs que tienes instalado, lo mas seguro es que algunos no funcionen correctamente en PHP 7.

Acabo de desinstalarlo.

El problema es que tengo mods que solo son compatibles con las versiones más nuevas de PHP, y por ahora no me han generado ningún tipo de problema, también verifiqué antes de publicar si cambiando de versión de PHP me iría, ya que anteriormente tuve problemas relacionados, pero seguía el mismo error

Gluz

¿Cuáles de los MODs que tienes sólo son compatibles con PHP 7?

De los MODs que están aquí en el sitio, si son para SMF 2.0.X deben ser compatibles con PHP 5.6, a menos que solo sea para la versión 2.0.14 y requiera PHP 7, de los cuales no he visto ninguno que tenga esos requerimientos, aunque hay un par de los que tienes que no conozco.

Los archivos principales de la sección de mensajes son los que dicen "PersonalMessage", y la única cosa que se me ocurre es revisarlos con algún editor de código que marque la sintaxis de PHP para ver si en alguna parte hay código mal colocado, ya que por ese error, lo mas seguro es que falte una comilla simple o doble, pero sin saber en qué línea o en qué archivo buscar, es muy complicado solo buscar ese caracter que marca el error dentro de todos los archivos del foro relacionados con esa sección, ya que aparte de esos con el nombre de la sección también se usan el index.php principal, Load.php y Subs.php que contienen muchas de las funciones principales y que cargan los datos de usuario, y otros mas que hay que revisar en caso de que no se encuentre nada en esos.

Madirex

Al cambiar a la versión 5.6 y al acceder a https://www.circuitsbm.com/index.php?action=pm ahora me aparece el error 500 HTTP

La página www.circuitsbm.com no puede procesar esta solicitud ahora.
HTTP ERROR 500



Madirex

Acabo de sobre-escribir el archivo PersonalMessage.php por el de defecto y el error sigue ocurriendo

Gluz

¿El error 500 o el primer error que mencionas en el hilo?

Por lo que veo son demasiados errores en tu foro, y si no tienes muchas ediciones manuales en el tema o en los archivos del foro, puedes probar a hacer un foro en otro directorio, ir reinstalando los MODs que tienes revisando los registros a ver si marcan algún error y que las secciones que te dan problemas funcionen correctamente, cuando ya tengas todo reinstalado como tu foro actual, hacer una copia de seguridad de los archivos del foro actual y apuntes sobre ediciones manuales, sobreescribirlos con los del foro de pruebas (todo excepto Settings.php) y rehacer las ediciones manuales, y revisar de nuevo las secciones que dan problemas a ver como van con los archivos del foro de pruebas.

Con la cantidad de MODs que tienes es un trabajo un poco tardado, pero es la mejor ruta, ya que así puedes ir viendo entre cada instalación de MODs si alguno es el que causa ese error.

Madirex

Quote from: Gluz on August 09, 2017, 09:45:57 PM
¿El error 500 o el primer error que mencionas en el hilo?

Por lo que veo son demasiados errores en tu foro, y si no tienes muchas ediciones manuales en el tema o en los archivos del foro, puedes probar a hacer un foro en otro directorio, ir reinstalando los MODs que tienes revisando los registros a ver si marcan algún error y que las secciones que te dan problemas funcionen correctamente, cuando ya tengas todo reinstalado como tu foro actual, hacer una copia de seguridad de los archivos del foro actual y apuntes sobre ediciones manuales, sobreescribirlos con los del foro de pruebas (todo excepto Settings.php) y rehacer las ediciones manuales, y revisar de nuevo las secciones que dan problemas a ver como van con los archivos del foro de pruebas.

Con la cantidad de MODs que tienes es un trabajo un poco tardado, pero es la mejor ruta, ya que así puedes ir viendo entre cada instalación de MODs si alguno es el que causa ese error.

El error 500 y el primer error son los mismos errores.
Lo que pasa es que tú me has dicho que cambie de versión de PHP a una más antigua, y las versiones antiguas dan el error 500 en lugar del error que comenté en el inicio del post, este es el único error que tengo, o al menos por ahora, hace unas semanas este error no me sucedía que yo sepa y debe ser porque estuve trasteando con los archivos.

Madirex

¡Acabo de ver que el error viene del tema! ¿Sabrías decirme qué archivos de tema son los que influyen en esa parte del foro?

Madirex

Solucionado. He sobre-escrito el archivo PersonalMessage.Template.php

Advertisement: