UTC și ora locală greșită doar în WordPress

20 apr. 2018, 21:15:55
Vizualizări: 24.1K
Voturi: 4

WordPress-ul meu arată ora greșită, Captură de ecran care arată ora greșită în WordPress

Ora UTC din imagine ar trebui să fie 18:06:28 și ora locală 15:06:28, deci ora UTC este afișată ca oră locală. Folosesc propriul VPS pe Digital Ocean și fusul orar este corect,

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

De asemenea, am alte scripturi PHP pe server și ora este corectă, cron job-ul pentru WHMCS de exemplu funcționează perfect, aceasta este configurația mea de timp în WordPress

Configurarea fusului orar în WordPress

Cum pot rezolva acest lucru? Problema apare în toate site-urile mele WordPress, iar site-urile WooCommerce au ora greșită și la comenzi.

Folosesc PHP 7 și ultima versiune de WordPress

Am încercat deja cu timezone în php.ini și în configurația globală PHP am America/Santiago

Data pe server este ok

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 la fel

php > echo date_default_timezone_get(time());
America/Santiago
php
0
Toate răspunsurile la întrebare 4
5

Aceasta ar putea fi o soluție pentru tine: https://wordpress.org/support/topic/utc-time-and-local-time-problems/

Se menționează că este o problemă cu configurația PHP, nu cu WordPress.

(Adaug soluția aici pentru referință ușoară)

  1. Dacă ai acces la shell, primești data/ora corectă când tastezi „date” în linia de comandă? Dacă este greșit, contactează gazda ta de hosting.

  2. Încearcă să adaugi fusul orar corect în php.ini: http://www.inmotionhosting.com/support/website/php/setting-the-timezone-for-php-in-the-phpini-file (Și verifică dacă afișează zona corectă)

  3. Verifică pluginurile tale, dacă vreunul modifică ceva în ceasul WordPress. În linkul trimis mai sus, problema a fost rezolvată prin dezactivarea unui plugin de calendar.

Ambele linkuri de mai jos te pot ajuta în căutarea ta, nu pot indica exact ce ar putea rezolva deoarece lipsesc informații suplimentare despre ce se spune acolo, dar sper că vor aduce puțină lumină asupra problemei tale!

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

Remedierea orei UTC - efecte WordPress

20 apr. 2018 22:33:00
Comentarii

salut, 1) data afișează ora locală corect 2) deja am făcut, un fișier php.ini în folderul wp și configurația globală php cu fusul orar corect (america/santiago). 3) niciun plugin nou instalat, am woocommerce, yoast, wp rocket, nu folosesc jetpack

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

+1 pentru că ai pus textul aici în loc să forțezi oamenii să urmărească linkurile ;)

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

@OsvaldoParra ai verificat dacă afișează fusul orar corect în info.php? Acest răspuns de pe unul dintre linkuri propune să adaugi un script php care afișează ora UTC pentru a testa mai departe: https://wordpress.org/support/topic/utc-time-wrong/page/2/#post-8654937

Încearcă asta într-un script PHP. Nu în WordPress, doar un script independent pe serverul tău.

date_default_timezone_set( 'UTC' ); echo date('Y-m-d G:i:s'); Asta ar trebui, evident, să afișeze ora UTC. O face?

Și mulțumesc @MarkKaplun ;)

atempel atempel
23 apr. 2018 20:45:58

@atempel nu, nu o face, acea linie afișează ora locală, verifică https://la-maria.cl/test/info.php, ora pe info.php este ora locală

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

@OsvaldoParra Ar trebui să afișeze ora pe care ai configurat-o în php.ini. Încearcă să setezi fusul orar în php.ini ca 'UTC' și păstrează configurația în Wordpress cu fusul tău orar local. Wordpress are propriul sistem pentru gestionarea timpului, așa că ar putea presupune că ora implicită în PHP este UTC, iar din moment ce ai schimbat-o, afișează greșit pe front-end.

atempel atempel
26 apr. 2018 00:03:20
0

Încearcă să cauți în toate fișierele din folderul /wp-content/ orice referință la această funcție:

date_default_timezone_set

Dacă o temă sau un plugin definește manual această funcție, aceasta poate afecta instalarea ta de WordPress. Am avut o situație exact ca cea pe care o descrii aici, iar sursa a fost această linie din partea de sus a fișierului functions.php al temei:

date_default_timezone_set( 'America/New_York' );

Aceasta a dus la afișarea unui timp UTC incorect în secțiunea Setări > General:

Timpul universal (UTC) este 2018-10-05 12:05:18. Ora locală este 2018-10-05 08:05:18.

După eliminarea ei, timpii corecti au apărut:

Timpul universal (UTC) este 2018-10-05 16:06:01. Ora locală este 2018-10-05 12:06:01.
5 oct. 2018 19:06:22
0

Am avut aceeași problemă, cauzată de conținutul incorect al fișierului /usr/share/zoneinfo/UTC. După ce am restaurat o versiune corectă, problema a fost rezolvată. Dacă comanda strings /usr/share/zoneinfo/UTC afișează mai mult de 3 linii sau afișează alte fusuri orare în afară de UTC, acest fișier nu are conținutul corect.

15 apr. 2020 12:47:49
0

După cum a menționat @Jan-Pieter - aceasta ar putea fi din cauza unui fișier /usr/share/zoneinfo/UTC corupt. Dacă nu aveți o copie originală, îl puteți reseta la valorile implicite.

Pe distribuții bazate pe Debian, inclusiv Ubuntu, rulând următoarea comandă SSH: $sudo apt-get install --reinstall tzdata

Pentru CentOS (sau alte distribuții bazate pe Red Hat), ați folosi: $sudo yum reinstall tzdata

Sau pentru versiunile mai noi care folosesc dnf: $sudo dnf reinstall tzdata

25 sept. 2024 00:41:32