2011-12-27 78 views
11

En mi caso particular, tanto el servidor como el cliente son la misma computadora, estoy en localhost. Cuando hago eco de la fecha desde la función de fecha(), muestra un valor totalmente erróneo, 11 horas antes. También probé gmdate(), pero muestra la fecha en AM, no en PM. ¿Hay alguna forma de cambiar el tiempo del servidor apache, así que cada vez que lo obtengo en php, se muestra igual que el tiempo en mi computadora?¿Cómo cambiar la hora en el servidor apache para que coincida con la hora de la computadora (PHP)?

EDIT: Perdón por la edición tardía. Ya configuré la zona horaria en php.ini pero aún no funciona. Y estoy seguro de que mi zona horaria es correcta, ya que la obtuve del manual y la comprobé desde phpinfo().

+1

Posible duplicado. Consulte mi respuesta a esta pregunta http://stackoverflow.com/questions/8596083/apache-time-stamp-incorrect/8596163#8596163 –

+0

http://php.net/manual/en/datetime.configuration.php – hakre

+0

@ ¡TomS ya lo hice, pero todavía no funciona! – menislici

Respuesta

14

creo que busca: date_default_timezone_set (string $timezone_identifier)

Link

También puede configurar esto en su configuración php.ini.

+0

buena respuesta, el único problema con date_default_timezone_set es que es una función, por lo que si el OP ejecuta software no lo escribió tendría que agregarlo a cada pieza de software que está ejecutando, mientras que lo establece en el php.ini, como en mi respuesta, ese es el único lugar donde debería tener que cambiar la configuración. – Justin

+0

Todo depende de lo que esté escribiendo el software, si está escribiendo software para la portabilidad, tener la capacidad de configurar esto en el código puede ser un rasgo deseable. –

+0

Sí Andy, eso es correcto. Sin embargo, si desea que su servidor en un servidor local sea el mismo que su hora local, configurarlo en php.ini es óptimo. Luego, crear la capacidad de cambiarlo en el programa (si es un programa que está escribiendo) es secundario para proporcionar la portabilidad en ese sentido. – Justin

9

Debe hacer esto en su archivo php.ini. Estoy en Windows y ejecuto WAMP para que mi ubicación php.ini esté en: c: /wamp/bin/apache/Apache2.2.21/bin/

A continuación, abra ese archivo y la configuración predeterminada es: date.timezone = UTC Lo haría cambiar este valor por cualquier zona horaria que desee ...

para obtener una lista completa de zonas horarias compatible, puede visitar: http://php.net/manual/en/timezones.php

8

Abra el php.ini bajo /etc/php.ini.

Descomenta esta línea y agrega tu continente y la ciudad principal. Aquí hay un ejemplo que funciona para Alemania (Deutschland).

[Date] 
; Defines the default timezone used by the date functions 
; http://php.net/date.timezone 
date.timezone = Europe/Berlin 

Ver el sitio web http://php.net/manual/de/timezones.php para todas las zonas horarias en alemán.

Guarde el archivo php.ini. Y reinicia el apache. Mageia Linux utiliza esto:

systemctl restart httpd.service 
+0

Desplácese por todo el 'php.ini' y haga que este cambio sea' date.timezone = ' –

0

esto se puede cambiar en el php.ini. si usa xampp, abra xampp/php/php.ini. Busque la línea 'date.timezone = Europe/Berlin' y cambie a su zona horaria. en mi caso cambié a 'date.timezone = Africa/Nairobi'. guardar y reiniciar apache

Cuestiones relacionadas