UTC y hora local incorrectos solo en WordPress

20 abr 2018, 21:15:55
Vistas: 24.1K
Votos: 4

mi WordPress muestra la hora incorrecta, Captura de pantalla mostrando la hora incorrecta en WordPress

La hora UTC en la imagen debería ser 18:06:28 y la hora local 15:06:28, así que la hora UTC se muestra como hora local. Uso mi propio VPS en Digital Ocean y la zona horaria es correcta,

ls -l /etc/localtime
lrwxrwxrwx 1 root root 36 Apr 19 23:20 /etc/localtime -> /usr/share/zoneinfo/America/Santiago

además tengo otros scripts PHP en el servidor y la hora es correcta, el trabajo cron para WHMCS por ejemplo funciona perfecto, esta es mi configuración de hora en WordPress

Configuración de zona horaria en WordPress

¿Cómo puedo arreglar esto? El problema está en todos mis sitios WordPress, y los sitios WooCommerce tienen la hora incorrecta en los pedidos también.

Uso PHP 7 y la última versión de WordPress

Ya intenté con timezone en php.ini y en la configuración global de PHP tengo America/Santiago

La fecha en el servidor está correcta

root@server:~# timedatectl
      Local time: Fri 2018-04-20 22:15:40 -03
  Universal time: Sat 2018-04-21 01:15:40 UTC
        RTC time: Sat 2018-04-21 01:15:40
       Time zone: America/Santiago (-03, -0300)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

PHP también

php > echo date_default_timezone_get(time());
America/Santiago
php
0
Todas las respuestas a la pregunta 4
5

Esta podría ser una solución para ti: https://wordpress.org/support/topic/utc-time-and-local-time-problems/

Indica que es un problema con la configuración de PHP, no con Wordpress.

(Traigo la solución aquí para facilitar la referencia)

  1. Si tienes acceso al shell, ¿obtienes la fecha/hora correcta cuando escribes "date" en la línea de comandos? Si eso está mal, contacta a tu hosting.

  2. Intenta agregar la zona horaria correcta en php.ini: http://www.inmotionhosting.com/support/website/php/setting-the-timezone-for-php-in-the-phpini-file (Y verifica si muestra la zona correcta)

  3. Revisa tus plugins, si alguno modifica algo del reloj de Wordpress. En el enlace que envié arriba, el caso se resolvió desactivando un plugin de calendario.

Estos enlaces también pueden ayudarte en tu búsqueda, no puedo señalar qué podría resolverlo ya que falta información sobre lo que mencionan allí, ¡pero espero que arroje algo de luz sobre tu problema!

https://wordpress.org/support/topic/utc-time-wrong/page/2/

Solucionando el tiempo UTC - efectos en Wordpress

20 abr 2018 22:33:00
Comentarios

hola, 1) la fecha muestra la hora local correctamente 2) ya lo hice, un archivo php.ini en la carpeta wp y configuración global de php con la zona horaria correcta (america/santiago). 3) no se instaló ningún plugin nuevo, tengo woocommerce, yoast, wp rocket, no uso jetpack

Osvaldo Parra Osvaldo Parra
21 abr 2018 04:11:22

+1 por poner el texto aquí correctamente en lugar de obligar a la gente a seguir los enlaces ;)

Mark Kaplun Mark Kaplun
21 abr 2018 08:51:55

@OsvaldoParra ¿verificaste si muestra la zona horaria correcta en info.php? Esta respuesta en uno de los enlaces propone agregar un script php que muestre la hora UTC para probar más a fondo: https://wordpress.org/support/topic/utc-time-wrong/page/2/#post-8654937

Prueba esto en un script PHP. No en WordPress, solo un script independiente en tu servidor.

date_default_timezone_set( 'UTC' ); echo date('Y-m-d G:i:s'); Eso debería, obviamente, mostrar la hora UTC. ¿Lo hace?

También, gracias @MarkKaplun ;)

atempel atempel
23 abr 2018 20:45:58

@atempel no, no lo hace, esa línea muestra la hora local, revisa https://la-maria.cl/test/info.php, la hora en info.php es hora local

Osvaldo Parra Osvaldo Parra
25 abr 2018 01:15:07

@OsvaldoParra Debería mostrar la hora que configuraste en php.ini. Intenta establecer la zona horaria en php.ini como 'UTC' y mantén la configuración en Wordpress con tu zona horaria local. Wordpress tiene su propio sistema para la gestión del tiempo, por lo que podría asumir que la hora predeterminada en PHP es UTC, y como la cambiaste, se muestra incorrectamente en el front-end.

atempel atempel
26 abr 2018 00:03:20
0

Intenta buscar en todos los archivos de tu carpeta /wp-content/ cualquier referencia a esta función:

date_default_timezone_set

Si un tema o plugin define esto manualmente, puede afectar tu instalación de WordPress. Tuve un caso exactamente como el que describes aquí, y la fuente era esta línea al inicio del archivo functions.php del tema:

date_default_timezone_set( 'America/New_York' );

Esto resultó en un tiempo UTC incorrecto mostrado en Ajustes > General:

El tiempo universal (UTC) es 2018-10-05 12:05:18. La hora local es 2018-10-05 08:05:18.

Una vez eliminado, aparecieron los tiempos correctos:

El tiempo universal (UTC) es 2018-10-05 16:06:01. La hora local es 2018-10-05 12:06:01.
5 oct 2018 19:06:22
0

Tuve el mismo problema, fue causado por un contenido incorrecto en el archivo /usr/share/zoneinfo/UTC. Después de restaurar una versión correcta, el problema se solucionó. Si el comando strings /usr/share/zoneinfo/UTC muestra más de 3 líneas o muestra otras zonas horarias que no sean UTC, este archivo no tiene el contenido correcto.

15 abr 2020 12:47:49
0

Como mencionó @Jan-Pieter - esto podría deberse a un archivo /usr/share/zoneinfo/UTC corrupto. Si no tienes una copia original, puedes restablecerlo a los valores predeterminados.

En distribuciones basadas en Debian, incluyendo Ubuntu, ejecuta el siguiente comando SSH: $sudo apt-get install --reinstall tzdata

Para CentOS (u otras distribuciones basadas en Red Hat), usarías: $sudo yum reinstall tzdata

O para versiones más nuevas que usan dnf: $sudo dnf reinstall tzdata

25 sept 2024 00:41:32