Foros del Web » Programando para Internet » PHP »

Me sale: "MySQL server has gone away"

Estas en el tema de Me sale: "MySQL server has gone away" en el foro de PHP en Foros del Web. Hola! tengo un script que, usando una función ya predefinida, busca con un while el RSS de varias webs y muestra las entradas. Pongamos que ...
  #1 (permalink)  
Antiguo 02/01/2013, 11:25
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Me sale: "MySQL server has gone away"

Hola!

tengo un script que, usando una función ya predefinida, busca con un while el RSS de varias webs y muestra las entradas.

Pongamos que busca en 15 webs las últimas entradas (posts) de los últimos 2 días. El caso es que al parecer en alguna de las consultas se queda bloqueado y me sale el error:

"MySQL server has gone away".

Entiendo que no hay forma alguna de solucionar este tema, ya que probablemente sea culpa del servidor (externo) en donde está alojada la web (RSS).

Si le doy a actualizar, a la segunda me lo hace bien.

El tema es que no quiero que me salga ese error. Se me ocurre la solución de controlar el dichoso error y cuando salga reiniciar la misma consulta con los mismos parámetros.

Cómo podría hacerlo?
  #2 (permalink)  
Antiguo 02/01/2013, 11:48
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Me sale: "MySQL server has gone away"

usa un if
if MySQL server has gone away
realisar la consulta denuevo.




NOTA: el "MySQL server has gone away" lo da el mysql_error() creo.
  #3 (permalink)  
Antiguo 03/01/2013, 04:39
Avatar de humanista  
Fecha de Ingreso: abril-2005
Mensajes: 878
Antigüedad: 19 años
Puntos: 15
Respuesta: Me sale: "MySQL server has gone away"

Vale, y cómo se hace ese IF?
  #4 (permalink)  
Antiguo 03/01/2013, 05:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Me sale: "MySQL server has gone away"

En lugar de intentar algo chapuceramente, ¿por qué no consultas el manual de referencia?: MySQL has gone away

El problema es que la mejor solución no la puedes implementar tu (a menos que seas el root de ese servidor).
Yo te sugeriría que te comunicases con el soporte técnico de ese hosting y les pidas ayuda. Al menos es lo que yo haría, ya que ellos son los responsables de brindarte soluciones a ese problema.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 03/01/2013, 05:12
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Me sale: "MySQL server has gone away"

A mi me pasaba hace unos días en local. Creo recordar que era porque pedía demasiados datos del tirón pero no recuerdo muy bien.
  #6 (permalink)  
Antiguo 03/01/2013, 05:49
 
Fecha de Ingreso: diciembre-2012
Mensajes: 223
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Me sale: "MySQL server has gone away"

Tienes que utilizar un if
  #7 (permalink)  
Antiguo 03/01/2013, 05:52
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Me sale: "MySQL server has gone away"

Esa es, precisamente, una de las causas del error que explica el manual, en el link que puse. No es la única, pero es una de ellas.
En esencia, se da cuando el timeout es insuficiente para la operación que se quiere realizar, generando varias consecuencias, según contexto.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 03/01/2013, 07:47
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Me sale: "MySQL server has gone away"

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Esa es, precisamente, una de las causas del error que explica el manual, en el link que puse. No es la única, pero es una de ellas.
En esencia, se da cuando el timeout es insuficiente para la operación que se quiere realizar, generando varias consecuencias, según contexto.
entonces tal como lo dices es necesario usar una solucion parche para poder obtener los datos, ya que si no se tiene acceso al server el problema estaria fuera de nustro control.

esta claro, no es lo mejor pero es lo que hay.

Cita:
Iniciado por humanista Ver Mensaje
Vale, y cómo se hace ese IF?
supongamos que tu llamada sql esta en la fincion "llama()"

en la consulta sql habra que colocar mysql_query("consulta") OR llama();

esto hace que si la consulta no es generada corectamente se vuelve a llamar asi misma hasta que funcione bien.
  #9 (permalink)  
Antiguo 03/01/2013, 07:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Me sale: "MySQL server has gone away"

¿No sería mejor empezar por ver qué consulta se está enviando a realizar en la base de datos?
Resolver un problema originado en la consulta sin ver la consulta no es solución. Es un mal parche porque el problema subsiste sólo que lo esquivas.
Además, ten en cuenta que reejecutar una consulta, por más que los datos están en el buffer, termina siendo penalizado por el hosting porque usarás el doble de recursos innecesariamente.
Yo diría que analicemos lo que se intenta buscar par ver si el tema se puede resolver con optimización, antes que con fórceps.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #10 (permalink)  
Antiguo 03/01/2013, 08:45
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Me sale: "MySQL server has gone away"

ya lo dijo el:

Cita:
Iniciado por humanista Ver Mensaje
Hola!

Si le doy a actualizar, a la segunda me lo hace bien.

El tema es que no quiero que me salga ese error.
  #11 (permalink)  
Antiguo 03/01/2013, 09:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Me sale: "MySQL server has gone away"

Si quiere que no le salga el error, el camino no es suprimir el mensaje, sino resolver el error.
El error es el síntoma de un problema en el sistema.
¿Qué prefieres? ¿Un sistema con problemas sin mensajes o un sistema sin problemas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #12 (permalink)  
Antiguo 03/01/2013, 09:16
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Me sale: "MySQL server has gone away"

preferiria un sistema que funcione ya que no hay un sistema 100x100% fiable
  #13 (permalink)  
Antiguo 03/01/2013, 09:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Me sale: "MySQL server has gone away"

Si escondes el mensaje de error, el sistema seguirá funcionando mal. Sólo que no lo sabrás hasta que sea demasiado tarde.
Errores de ese tipo cuestan plata, y también te cuestan el trabajo.

Esconder los problemas, no es la meta.

Además, yo no hablo de "fiabilidad", sino de defectos. Si no depuras los defectos, volverán a surgir, sólo que ya será demasiado tarde y resolverlos te insumirá muchísimo más esfuerzo.

Preferiría que el forista postee la consulta que genera el problema para ver cómo resolverlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #14 (permalink)  
Antiguo 03/01/2013, 10:04
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Me sale: "MySQL server has gone away"

jajajaja
ironia de la vida.
tambien puedes perder el trabajo si el jefe se da cuenta que estas todo el dia perdiendo tiempo laboral en responder post de un foro.
  #15 (permalink)  
Antiguo 03/01/2013, 10:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Me sale: "MySQL server has gone away"

No es tu problema.
En todo caso te molesta que te contradiga, pero eso lo podemos tratar por MP.

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #16 (permalink)  
Antiguo 03/01/2013, 12:38
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Me sale: "MySQL server has gone away"

Cita:
Iniciado por enlinea777 Ver Mensaje
jajajaja
ironia de la vida.
tambien puedes perder el trabajo si el jefe se da cuenta que estas todo el dia perdiendo tiempo laboral en responder post de un foro.
Mañana por la mañana mientras me afeite, le voy a decir a ese señor que tengo en frente que está despedido...

O debería decirle a él que me despida?

Vaya problema que me has generado

Por las dudas @gnzsoloyo/@enlinea777, los duelos fueron prohibidos en el siglo XIX
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #17 (permalink)  
Antiguo 03/01/2013, 13:02
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Me sale: "MySQL server has gone away"

Cita:
Por las dudas @gnzsoloyo/@enlinea777, los duelos fueron prohibidos en el siglo XIX


Acá en Argentina, si. Creo que Uruguay los conservói más tiempo, pero de todos modos no me voy a ir a Motevideo para comprobarlo...

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #18 (permalink)  
Antiguo 03/01/2013, 13:09
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Me sale: "MySQL server has gone away"

Cita:
Iniciado por gnzsoloyo Ver Mensaje


Acá en Argentina, si. Creo que Uruguay los conservói más tiempo, pero de todos modos no me voy a ir a Motevideo para comprobarlo...

Como sea, si hace falta padrino, me ofrezco

__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #19 (permalink)  
Antiguo 03/01/2013, 13:46
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Sonrisa Respuesta: Me sale: "MySQL server has gone away"

si es con armas el ganador seria....
creo que depende.

si el arma tiene valas pero le falla el gatillo seria su servidor ya que gnzsoloyo llevaria al taller de reparacion el arma para que la dejen bien--- mientras yo le pegaria con cualquier piedra y quedaria listo el trabajo.

jajajaja ya dejo de responder. el post pa' largo.

posdata: no soy el unico que le molesta que le contradigan ya que veo respuestas de gnzsoloyo cada ves que digo algo.
  #20 (permalink)  
Antiguo 03/01/2013, 14:05
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Me sale: "MySQL server has gone away"

Cita:
Iniciado por enlinea777 Ver Mensaje
si es con armas el ganador seria....
creo que depende.

si el arma tiene valas pero le falla el gatillo seria su servidor ya que gnzsoloyo llevaria al taller de reparacion el arma para que la dejen bien--- mientras yo le pegaria con cualquier piedra y quedaria listo el trabajo.

jajajaja ya dejo de responder. el post pa' largo.

posdata: no soy el unico que le molesta que le contradigan ya que veo respuestas de gnzsoloyo cada ves que digo algo.
really?? que si le das el golpe con la piedra y te explota en la mano?? un foro es para debatir y encontrar gente que te contradiga así se aprenden las cosas, si todos pensaramos igual que aburrido sería, personalmente me gusta cuando me contradicen me hacen investigar y si estoy equivocado aprendo sino puede que haya enseñado a alguien o por lo menos sacado del error, saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #21 (permalink)  
Antiguo 03/01/2013, 15:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Me sale: "MySQL server has gone away"

Si el arma tiene valas???

Ojalá el arma no sea la ortografía, porque desde ya te estaríamos declarando difunto!
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: mysql, server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:40.