Error que desconozco

Started by ViperJWLMu, August 13, 2024, 02:45:15 PM

Previous topic - Next topic

ViperJWLMu

Hola a todos. Tengo un foro SMF versión 2.0.19 montado en una PC con Windows en XAMPP, todo iba perfecto. De un momento para otro se cortó la luz, la PC se reinició y cuando volví a poner el xampp en funcionamiento (MySQL y Apache) el foro me arroja un error que no entiendo el significado ni cómo solucionarlo.

Es extremadamente raro porque todo funcionaba perfecto, yo no modifiqué nada en los archivos ni en la base de datos, realmente estoy descolocado.

Necesito ayuda con esta falla, alguien sabe qué puedo hacer?

"Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\Webs\foro\Sources\Subs.php on line 8207
The database value you're trying to insert does not exist: theme_guests"

Si busco esa línea en el archivo Subs.php encuentro esto
// Step 3: Ready to split apart and index!

$words = explode(' ', $words);



if ($encrypt)

{

$possible_chars = array_flip(array_merge(range(46, 57), range(65, 90), range(97, 122)));

$returned_ints = array();

foreach ($words as $word)

{

if (($word = trim($word, '-_\'')) !== '')

{

$encrypted = substr(crypt($word, 'uk'), 2, $max_chars);

$total = 0;

for ($i = 0; $i < $max_chars; $i++)

$total += $possible_chars[ord($encrypted{$i})] * pow(63, $i);

$returned_ints[] = $max_chars == 4 ? min($total, 16777215) : $total;

}

}

return array_unique($returned_ints);

}

else

{

// Trim characters before and after and add slashes for database insertion.

$returned_words = array();

foreach ($words as $word)

if (($word = trim($word, '-_\'')) !== '')

$returned_words[] = $max_chars === null ? $word : substr($word, 0, $max_chars);



// Filter out all words that occur more than once.

return array_unique($returned_words);

}

}



Diego Andrés

¿Qué versión de PHP tienes? Es posible que se haya seleccionado una más reciente cuando volviste a levantar el servidor.

Revisa los requerimientos y compara con la configuración que tienes: https://download.simplemachines.org/requirements.php

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 13, 2024, 03:46:41 PM¿Qué versión de PHP tienes? Es posible que se haya seleccionado una más reciente cuando volviste a levantar el servidor.

Revisa los requerimientos y compara con la configuración que tienes: https://download.simplemachines.org/requirements.php
Gracias por responderme en esta situación tan urgente para mí.

Cómo se podría haber cambiado de versión? Tengo la versión 7.4.27

Danielㅤ

Hola, en casos como éstos hay que asegurarse de que ese corte de luz no haya dañado la base de datos del foro, porque es probable que eso pueda pasar.

Prueba a cambiar la versión de PHP a una compatible, si eso no funciona, muy probablemente sea la base de datos, siempre tenes que tener copias de seguridad.


Saludos

ViperJWLMu

Quote from: Daniel� on August 13, 2024, 04:44:46 PMHola, en casos como éstos hay que asegurarse de que ese corte de luz no haya dañado la base de datos del foro, porque es probable que eso pueda pasar.

Prueba a cambiar la versión de PHP a una compatible, si eso no funciona, muy probablemente sea la base de datos, siempre tenes que tener copias de seguridad.


Saludos
Yo tengo la 7.4.27, esa no es compatible? según la página que me pasaron creo que debería ser compatible, aparte siempre funcionó con esa.

Diego Andrés

Quote from: ViperJWLMu on August 13, 2024, 02:45:15 PMThe database value you're trying to insert does not exist: theme_guests"

Parece que te falta algo en la tabla?
Intenta ejecutando esto en tu PHPMyAdmin en la tabla smf_settings

INSERT INTO smf_settings
(variable, value)
VALUES ('theme_guests', '1')

SMF Tricks - Free & Premium Responsive Themes for SMF.

Danielㅤ

Además de lo que indica Diego, yo haría una reparación de la base de datos usando las herramientas de PHPMyAdmin, si hay algún error se corregirá y sinó, entonces seguirá igual., más que nada haría esa reparación por las dudas porque según el error que indica Diego en el post anterior, hay un valor que no existe, es decir que se ha borrado.

ViperJWLMu

Quote from: Diego Andrés on August 13, 2024, 06:36:09 PM
Quote from: ViperJWLMu on August 13, 2024, 02:45:15 PMThe database value you're trying to insert does not exist: theme_guests"

Parece que te falta algo en la tabla?
Intenta ejecutando esto en tu PHPMyAdmin en la tabla smf_settings

INSERT INTO smf_settings
(variable, value)
VALUES ('theme_guests', '1')
Lo estoy probando, espero que pueda funcionar, te mandé mensaje también Diego.

ViperJWLMu

Bueno primero que nada quiero agradecer enormemente a Diego que me salvó el foro gracias a esa consulta, ya volvió a funcionar todo. Lo que si se me quedaron generando dos errores todo el tiempo, que son estos:




Diego Andrés

Parece que es algo similar, prueba con esto:

INSERT INTO smf_settings
(variable, value)
VALUES ('settings_updated', '0')


Creo que valdría la pena que revises si tienes un backup de ayer (de tu base de datos pues los archivos parecen estar bien), quizás te sea más sencillo restablecer la base de datos sin tener algún dato corrupto o perder mucha información.

SMF Tricks - Free & Premium Responsive Themes for SMF.

Diego Andrés

Otro detalle que podrías considerar es utilizar repair_settings para corregir algunos ajustes predeterminados y rutas.

What is repair_settings.php?

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 12:40:28 AMParece que es algo similar, prueba con esto:

INSERT INTO smf_settings
(variable, value)
VALUES ('settings_updated', '0')


Creo que valdría la pena que revises si tienes un backup de ayer (de tu base de datos pues los archivos parecen estar bien), quizás te sea más sencillo restablecer la base de datos sin tener algún dato corrupto o perder mucha información.


Actualmente el foro está andando, probé todas las funciones y todo anda bien, esos dos errores son los únicos que aparecen, crees que sea necesario acudir a un backup? porque realmente no tengo, el único que tengo es de hace 1 mes atrás.

Diego Andrés

Eso quedaría a tu criterio si el foro está funcionando adecuadamente.

Los errores que mencionas, aunque están en diferentes archivos son exactamente el mismo y se deben a que esa otra entrada no estaba en la tabla, pero si ya lo has corregido también pues ya no deberías de tener errores entonces.

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 01:04:30 AMEso quedaría a tu criterio si el foro está funcionando adecuadamente.

Los errores que mencionas, aunque están en diferentes archivos son exactamente el mismo y se deben a que esa otra entrada no estaba en la tabla, pero si ya lo has corregido también pues ya no deberías de tener errores entonces.
Acabo de solucionar los dos errores, quedó perfecto la consulta que me mandaste.

Ahora apareció otro más, es del template Yattagan jaja (hermoso por cierto, el mejor de todos). Es este:

ViperJWLMu

Le pedí a un usuario que comente un tema y aparecieron algunos errores más, creo que son los últimos que vi:





Diego Andrés

mostDate también es otra entrada de la misma tabla, definitivamente sigues teniendo problemas con la base de datos...
Los otros que posteaste no estoy seguro, podrían también ser causados por algo relacionado.

('mostDate', UNIX_TIMESTAMP()),

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 01:51:01 AMmostDate también es otra entrada de la misma tabla, definitivamente sigues teniendo problemas con la base de datos...
Los otros que posteaste no estoy seguro, podrían también ser causados por algo relacionado.

('mostDate', UNIX_TIMESTAMP()),

Eso que me enviaste cómo se ejecutaría?

Diego Andrés

Sería igual

INSERT INTO smf_settings
(variable, value)
VALUES ('mostDate', UNIX_TIMESTAMP())

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 08:05:06 AMSería igual

INSERT INTO smf_settings
(variable, value)
VALUES ('mostDate', UNIX_TIMESTAMP())

Te agradezcó muchísimo, ya no me volvió a dar errores el foro, un genio total.

Lo que si, un detalle, algo que me di cuenta, no se si tendrá mucho que ver, pero cuando fui a las cuentas de usuario en el PHPMyAdmin me di cuenta que hay este error (esto no pasaba antes)



(SELECT DISTINCT `User`, `Host` FROM `mysql`.`user` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`db` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`tables_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`columns_priv` ) UNION (SELECT DISTINCT `User`, `Host` FROM `mysql`.`procs_priv` ) ORDER BY `User` ASC, `Host` ASC

Diego Andrés

En phpmyadmin deberías tener alguna herramienta para reparar la tabla.

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 01:03:52 PMEn phpmyadmin deberías tener alguna herramienta para reparar la tabla.
Si yo toco en el botón editar me lleva acá, pero no se si tengo que ejecutar eso o no, no lo hice porque no quiero perjudicar nada.


Diego Andrés

Realiza un backup y lo ejecutas.

La forma en la que describes esto hace pensar que no estás respaldando tu base de datos  :o

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 01:55:48 PMRealiza un backup y lo ejecutas.

La forma en la que describes esto hace pensar que no estás respaldando tu base de datos  :o
Si si, por cada paso que hago realizo un backup por las dudas.

Intenté ejecutar esa consulta pero me da ese error:



Danielㅤ

Quote from: ViperJWLMu on August 14, 2024, 01:00:44 AM... crees que sea necesario acudir a un backup? porque realmente no tengo, el único que tengo es de hace 1 mes atrás.

Mala decisión, siempre tenés que hacer copias de seguridad de la base de datos constantemente, por ejemplo 1 o 2 veces por semana, habrá otros colaboradores que te recomendaran hacerlo todos los días pero me parece demasiado y con al menos una vez o dos veces por semana está bien, siempre que hagas un backup debes ponerle la fecha para saber hasta que día, mes y año has guardado ese respaldo, el tiempo determinado entre cada backup también depende del movimiento que haya en tu foro.

Algo que debes tener muy en cuenta es que el hecho de que tu foro funcione actualmente no quiere decir que no vayas a tener problemas a futuro, desde ya te digo que por los errores que te aparecen y siguen apareciendo, esa base de datos está corrompida y yo creo que si valdría la pena que la restaures aunque sea de hace un mes, porque no estás totalmente seguro si después te dará problemas y tampoco sabes como quedó internamente esa base de datos.

En cuánto al usuario que le has pedido que cree un tema, esas pruebas las tenes que hacer vos como administrador del foro, tenés que crear una cuenta de usuario normal para hacer las pruebas y no depender ni esperar a que tus usuarios lo hagan.

Diego Andrés

Quote from: ViperJWLMu on August 14, 2024, 01:21:45 PMSi yo toco en el botón editar me lleva acá, pero no se si tengo que ejecutar eso o no, no lo hice porque no quiero perjudicar nada.

Esto no lo leí bien, "editar" no hará nada para solucionar ya que intentará hacerte que edites la consulta que está fallando en la tabla. Lo que quieres es reparar la tabla, no ejecutar una consulta.

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Daniel� on August 14, 2024, 02:17:15 PM
Quote from: ViperJWLMu on August 14, 2024, 01:00:44 AM... crees que sea necesario acudir a un backup? porque realmente no tengo, el único que tengo es de hace 1 mes atrás.

Mala decisión, siempre tenés que hacer copias de seguridad de la base de datos constantemente, por ejemplo 1 o 2 veces por semana, habrá otros colaboradores que te recomendaran hacerlo todos los días pero me parece demasiado y con al menos una vez o dos veces por semana está bien, siempre que hagas un backup debes ponerle la fecha para saber hasta que día, mes y año has guardado ese respaldo, el tiempo determinado entre cada backup también depende del movimiento que haya en tu foro.

Algo que debes tener muy en cuenta es que el hecho de que tu foro funcione actualmente no quiere decir que no vayas a tener problemas a futuro, desde ya te digo que por los errores que te aparecen y siguen apareciendo, esa base de datos está corrompida y yo creo que si valdría la pena que la restaures aunque sea de hace un mes, porque no estás totalmente seguro si después te dará problemas y tampoco sabes como quedó internamente esa base de datos.

En cuánto al usuario que le has pedido que cree un tema, esas pruebas las tenes que hacer vos como administrador del foro, tenés que crear una cuenta de usuario normal para hacer las pruebas y no depender ni esperar a que tus usuarios lo hagan.
Te agradezco que te hayas tomado el tiempo de responder, de todo se aprende.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 03:04:37 PM
Quote from: ViperJWLMu on August 14, 2024, 01:21:45 PMSi yo toco en el botón editar me lleva acá, pero no se si tengo que ejecutar eso o no, no lo hice porque no quiero perjudicar nada.

Esto no lo leí bien, "editar" no hará nada para solucionar ya que intentará hacerte que edites la consulta que está fallando en la tabla. Lo que quieres es reparar la tabla, no ejecutar una consulta.
Qué me recomendarías hacer ante eso?

Diego Andrés

Buscar la opción de reparar en los ajustes de la tabla

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 14, 2024, 09:12:00 PMBuscar la opción de reparar en los ajustes de la tabla
Pude repararla mirando una guía así que por suerte quedó también, te agradezco mucho.

Estuve probando el foro todo el día, comentarios, reacciones, cerrar temas, abrir, mover, probé muchas funciones y no d io ni 1 solo error, así que espero que haya quedado todo bien.

En caso de tener que reiniciar la PC donde está el foro, cómo me recomiendan hacerlo para que no se interrumpa de nuevo y se dañe? Tengo que parar el xampp desde el "STOP" en "mysql"? o tengo que primero poner en mantenimiento el foro?

Diego Andrés

Con detener los procesos en XAMPP debería ser suficiente.
Sugeriría que consigas un UPS para los cortes de luz, y que realices respaldos frecuentes.

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 15, 2024, 12:13:47 AMCon detener los procesos en XAMPP debería ser suficiente.
Sugeriría que consigas un UPS para los cortes de luz, y que realices respaldos frecuentes.
Voy a tenerlo en cuenta, muchas gracias.

Comento como último detalle, aparecieron 3 errores más que espero sean los últimos.







Danielㅤ

Detener a la fuerza el proceso de un programa en ejecución, es decir matar el proceso no es recomendable porque puede generar fallos a futuro, es como lo mismo que te paso que se cortó la luz que se cerró todo a la fuerza, para detenerlo correctamente hay formas, aquí te dejo información de como hacerlo:

http://www.lopeztorrijos.com/tutoriales/instalar-xampp-como-servidor-local/instalacion-de-xampp-para-linux/iniciar-y-detener-los-servidores-de-xampp#:~:text=Para%20iniciar%20y%20detener%20los,lampp%2Flampp%20stop%20para%20detener.

ViperJWLMu

Quote from: Daniel� on August 15, 2024, 09:58:16 AMDetener a la fuerza el proceso de un programa en ejecución, es decir matar el proceso no es recomendable porque puede generar fallos a futuro, es como lo mismo que te paso que se cortó la luz que se cerró todo a la fuerza, para detenerlo correctamente hay formas, aquí te dejo información de como hacerlo:

http://www.lopeztorrijos.com/tutoriales/instalar-xampp-como-servidor-local/instalacion-de-xampp-para-linux/iniciar-y-detener-los-servidores-de-xampp#:~:text=Para%20iniciar%20y%20detener%20los,lampp%2Flampp%20stop%20para%20detener.
Muchísimas gracias, muy valiosa esta información.

Diego Andrés

Quote from: ViperJWLMu on August 15, 2024, 09:41:39 AM
Quote from: Diego Andrés on August 15, 2024, 12:13:47 AMCon detener los procesos en XAMPP debería ser suficiente.
Sugeriría que consigas un UPS para los cortes de luz, y que realices respaldos frecuentes.
Voy a tenerlo en cuenta, muchas gracias.

Comento como último detalle, aparecieron 3 errores más que espero sean los últimos.








Parecen errores de MODs, lo mejor sería preguntar en sus temas de soporte.

SMF Tricks - Free & Premium Responsive Themes for SMF.

ViperJWLMu

Quote from: Diego Andrés on August 15, 2024, 11:39:20 AM
Quote from: ViperJWLMu on August 15, 2024, 09:41:39 AM
Quote from: Diego Andrés on August 15, 2024, 12:13:47 AMCon detener los procesos en XAMPP debería ser suficiente.
Sugeriría que consigas un UPS para los cortes de luz, y que realices respaldos frecuentes.
Voy a tenerlo en cuenta, muchas gracias.

Comento como último detalle, aparecieron 3 errores más que espero sean los últimos.








Parecen errores de MODs, lo mejor sería preguntar en sus temas de soporte.
Los dos primeros también?

Diego Andrés

Sí, Subs-SsrsBBC.php no es un archivo por defecto de SMF

SMF Tricks - Free & Premium Responsive Themes for SMF.

Advertisement: