Foros del Web » Programando para Internet » PHP »

servidor perdio la fecha y todo mal como prevenir?

Estas en el tema de servidor perdio la fecha y todo mal como prevenir? en el foro de PHP en Foros del Web. Hola: Cómo podría verificar la fecha correcta en PHP si el servidor web pierde la fecha por algún problema en la pila o similar? El ...
  #1 (permalink)  
Antiguo 09/04/2013, 06:37
 
Fecha de Ingreso: enero-2003
Mensajes: 120
Antigüedad: 21 años, 3 meses
Puntos: 0
servidor perdio la fecha y todo mal como prevenir?

Hola:
Cómo podría verificar la fecha correcta en PHP si el servidor web pierde la fecha por algún problema en la pila o similar?
El tema es que se grabaron muchas cosas mal por la fecha errónea y despues un drama arreglar la base.
El servidor es Debian Linux y es local/particular no es de un hosting.

Saludos compañeros.
__________________
Sergio.
  #2 (permalink)  
Antiguo 09/04/2013, 07:11
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 19 años, 8 meses
Puntos: 56
Respuesta: servidor perdio la fecha y todo mal como prevenir?

Holas, serbarmax.

Si tienes acceso directo al servidor, entonces sería mejor corregir el problema desde allí, no? En ese sentido podrías crear un script que esté monitoreando la hora del servidor, para que lo corrija en cuanto note el fallo. Esto es sólo una idea, porque no sabría cómo implementarlo para decirte cómo hacerlo...

Ahora, en cuanto a la fecha de los datos guardados y por guardar, consulta la documentación de tu base de datos, respecto a las zonas horarias usadas por el mismo, ya que podrías forzar por programación la zona horaria que quieres que se use en cada consulta de inserción, así te desligas de la hora del servidor.

Saludos!
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 09/04/2013, 07:16
Avatar de bookmaster  
Fecha de Ingreso: febrero-2002
Ubicación: Toledo
Mensajes: 976
Antigüedad: 22 años, 2 meses
Puntos: 67
Respuesta: servidor perdio la fecha y todo mal como prevenir?

Si tienes acceso al Cron podrías agregarle esto.
Código BASH:
Ver original
  1. /usr/sbin/ntpdate hora.uv.es >/dev/null 2>&1
Es lo que le tengo puesto yo al mio para que me lo haga a las 12 de la noche todos los dias. Así almenos 1 vez al día se ajustaría la hora.
__________________
Decir si te a funcionado la respuesta es ¡GRATIS!. Por favor indicarlo.
http://www.lohacemosweb.net
http://tutoriales.lohacemosweb.net
  #4 (permalink)  
Antiguo 09/04/2013, 07:19
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: servidor perdio la fecha y todo mal como prevenir?

Con php

Código PHP:
Ver original
  1. <?php header("Content-Type: text/html;charset=utf-8"); ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <title>Sincronizar tiempo timeServer + Php</title>
  7. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  8. <style type="text/css">
  9. /*<![CDATA[*/
  10. body{
  11. font-family: verdana, sans-serif;
  12. font-size: 12pt;
  13. color:#241A17;
  14. }
  15. /*]]>*/
  16. </style>
  17. <script type="text/javascript">
  18. //<![CDATA[
  19. function HoraAMPM() {
  20. var fecha = new Date();
  21. var horas = fecha.getHours();
  22. var minutos = fecha.getMinutes();
  23. var ampm = horas >= 12 ? 'pm' : 'am';
  24. horas = horas % 12;
  25. horas = horas ? horas : 12;
  26. minutos = minutos < 10 ? '0'+minutos : minutos;
  27. var tiempo = horas + ':' + minutos + ' ' + ampm;
  28. document.write(tiempo);
  29. }
  30.  
  31. function Hora24() {
  32. var fecha = new Date();
  33. var horas = fecha.getHours();
  34. var minutos = fecha.getMinutes();
  35. minutos = minutos < 10 ? '0'+minutos : minutos;
  36. var tiempo = horas + ':' + minutos ;
  37. document.write(tiempo);
  38. }
  39.  
  40. //]]>
  41. </script>
  42. </head>
  43. <body>
  44. <?php
  45. function obtener_tiempo_tmeserver ($timeserver, $socket) {
  46.  
  47. $fp = fsockopen($timeserver,$socket,$err,$errstr,5);
  48. if ($fp) {
  49. fputs($fp,"\n");
  50. $valor_tiempo = fread($fp,49);
  51. fclose($fp);
  52. }else{
  53. $valor_tiempo = " ";
  54. }
  55.  
  56.   $ret = array();
  57.   $ret[] = $valor_tiempo;
  58.   $ret[] = $err;     # error code
  59.  $ret[] = $errstr;  # error text
  60.  return($ret);
  61.  
  62. } # function obtener_tiempo_tmeserver
  63.  
  64. $timeserver = "time.nist.gov"; // indicar el timeserver aqui
  65. $timercvd = obtener_tiempo_tmeserver($timeserver,37);
  66. if (!$timercvd[1]) {
  67.   $valor_tiempo = bin2hex ($timercvd[0]);
  68.   $valor_tiempo = abs (HexDec('7fffffff') - HexDec($valor_tiempo) - HexDec('7fffffff')) ;
  69.   $tmestamp = $valor_tiempo - 2208988800;
  70.   $datum = date("Y-m-d (D) H:i:s",$tmestamp - date("Z",$tmestamp));
  71.   $doy = (date("z",$tmestamp)+1);
  72.  
  73.   echo "Tiempo chequeado en el servidor <b>",$timeserver,"</b> : [<span style=\"color: red\">",$valor_tiempo,"</span>]";
  74.   echo " (segundos desde 1900-01-01 00:00.00).<br />\n";
  75.   echo "La fecha y hora actual es ",$datum," UTC.<br /> ";
  76.   echo "El valor unix de time es $tmestamp.<br />\n";
  77. }else{
  78.   echo "Error al intentar acceder al timeServer <b>$timeserver</b><p style=\"width: 500px;\">";
  79.   echo "Código de error: <b>" . $timercvd[1] . "</b><br /> " . htmlentities($timercvd[2]) . "<br /></p>\n";
  80. }
  81. ?>
  82. <div>
  83. <br />
  84. <p>Hora local con javascript</p>
  85. <script type="text/javascript">
  86. //<![CDATA[
  87. HoraAMPM();
  88. //]]>
  89. </script>
  90. <br />
  91. <script type="text/javascript">
  92. //<![CDATA[
  93. Hora24();
  94. //]]>
  95. </script>
  96. </div>
  97. </body>
  98. </html>

solo tenés que definir el TimeServer en la linea
$timeserver = "time.nist.gov"; // indicar el timeserver aqui

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: fecha, servidor, todo
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.