UTC e ora locale errati solo su WordPress

20 apr 2018, 21:15:55
Visualizzazioni: 24.1K
Voti: 4

il mio WordPress mostra l'ora sbagliata, Screenshot dell'ora errata mostrata in WordPress

L'ora UTC nell'immagine dovrebbe essere 18:06:28 e l'ora locale 15:06:28, quindi l'ora UTC viene mostrata come ora locale. Uso il mio VPS su Digital Ocean e il fuso orario è corretto,

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

ho anche altri script PHP sul server e l'ora è corretta, il cron job per WHMCS per esempio funziona perfettamente, questa è la mia configurazione dell'ora su WordPress

Screenshot delle impostazioni del fuso orario in WordPress

Come posso risolvere questo problema? Il problema è presente in tutti i miei siti WordPress, e anche i siti WooCommerce hanno l'ora sbagliata negli ordini.

Uso PHP 7 e l'ultima versione di WordPress

Ho già provato con il timezone nel php.ini e nella configurazione PHP globale ho America/Santiago

la data sul server è corretta

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

anche PHP

php > echo date_default_timezone_get(time());
America/Santiago
php
0
Tutte le risposte alla domanda 4
5

Questa potrebbe essere una soluzione per te: https://wordpress.org/support/topic/utc-time-and-local-time-problems/

Indica che è un problema con la configurazione di PHP, non con WordPress.

(Riporto la soluzione qui per comodità di riferimento)

  1. Se hai accesso alla shell, ottieni la data/ora corretta quando digiti "date" nella riga di comando? Se è sbagliato, contatta il tuo host.

  2. Prova ad aggiungere il fuso orario corretto a php.ini: http://www.inmotionhosting.com/support/website/php/setting-the-timezone-for-php-in-the-phpini-file (E verifica se viene visualizzato il fuso corretto)

  3. Controlla i tuoi plugin, se qualcuno di essi modifica qualcosa sull'orologio di WordPress. Nel link che ho inviato sopra, il caso è stato risolto disattivando un plugin di calendario.

Anche questi link qui sotto possono aiutarti nella tua ricerca, non posso indicare cosa potrebbe risolverlo poiché mancano informazioni su ciò che dicono lì, ma spero che facciano luce sul tuo problema!

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

Risolvere il problema dell'ora UTC - effetti su WordPress

20 apr 2018 22:33:00
Commenti

ciao, 1) la data mostra l'ora locale correttamente 2) già fatto, un file php.ini nella cartella wp e la configurazione globale php con il fuso orario corretto (america/santiago). 3) nessun nuovo plugin installato, ho woocommerce, yoast, wp rocket, non uso jetpack

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

+1 per aver inserito correttamente il testo qui invece di costringere le persone a seguire i link ;)

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

@OsvaldoParra hai verificato se mostra il fuso orario corretto su info.php? Questa risposta in uno dei link propone di aggiungere uno script php che mostra l'ora UTC per ulteriori test: https://wordpress.org/support/topic/utc-time-wrong/page/2/#post-8654937

Prova questo in uno script PHP. Non in WordPress, solo uno script autonomo sul tuo server.

date_default_timezone_set( 'UTC' ); echo date('Y-m-d G:i:s'); Questo dovrebbe, ovviamente, restituire l'ora UTC. È così?

Anche, grazie @MarkKaplun ;)

atempel atempel
23 apr 2018 20:45:58

@atempel no, non lo fa, quella riga mostra l'ora locale, controlla https://la-maria.cl/test/info.php, l'ora su info.php è l'ora locale

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

@OsvaldoParra Dovrebbe mostrare l'ora che hai configurato su php.ini. Prova a impostare il fuso orario in php.ini come 'UTC' e mantieni la configurazione su Wordpress con il tuo fuso orario locale. Wordpress ha il suo sistema per la gestione dell'ora, quindi potrebbe assumere che l'ora predefinita su PHP sia UTC, e dato che l'hai cambiata, la visualizza in modo errato sul front-end.

atempel atempel
26 apr 2018 00:03:20
0

Prova a cercare in tutti i file nella cartella /wp-content/ qualsiasi riferimento a questa funzione:

date_default_timezone_set

Se un tema o un plugin la definisce manualmente, può causare problemi alla tua installazione WordPress. Mi è capitata una situazione esattamente come quella che descrivi qui, e la causa era questa riga all'inizio del file functions.php del tema:

date_default_timezone_set( 'America/New_York' );

Questo ha portato a un UTC errato riportato in Impostazioni > Generale:

L'ora universale (UTC) è 2018-10-05 12:05:18. L'ora locale è 2018-10-05 08:05:18.

Una volta rimossa, sono apparse le ore corrette:

L'ora universale (UTC) è 2018-10-05 16:06:01. L'ora locale è 2018-10-05 12:06:01.
5 ott 2018 19:06:22
0

Avevo lo stesso problema, causato da un contenuto errato del file /usr/share/zoneinfo/UTC. Dopo aver ripristinato una versione corretta, il problema è stato risolto. Se il comando strings /usr/share/zoneinfo/UTC mostra più di 3 righe o visualizza fusi orari diversi da UTC, significa che il file non contiene i contenuti corretti.

15 apr 2020 12:47:49
0

Come ha menzionato @Jan-Pieter - questo potrebbe essere dovuto a un file /usr/share/zoneinfo/UTC corrotto. Se non hai una copia originale, puoi ripristinarlo alle impostazioni predefinite.

Sulle distribuzioni basate su Debian, incluso Ubuntu, eseguendo il seguente comando SSH: $sudo apt-get install --reinstall tzdata

Per CentOS (o altre distribuzioni basate su Red Hat), dovresti usare: $sudo yum reinstall tzdata

Oppure per le versioni più recenti che utilizzano dnf: $sudo dnf reinstall tzdata

25 set 2024 00:41:32