Ecco cosa sviluppatori PHP dicono su di esso (nella related discussion):
No - si, come amministratore, sono tenuti a prendere una decisione informata sul ciò che si desidera che il fuso orario di essere. Ci sono stati troppi bug nella segnalazione in cui la gente non aveva idea, quindi ora lanciamo un avvertimento.
Derick Rethans è l'autore di this commit che ha trasformato date_warning da E_STRICT
(in PHP 5.2-) per E_WARNING
(PHP 5.3+).
La stessa discussione ha soluzione a questo bel suono (ma ovviamente scomodo), applicata da MediaWiki:
In realtà, il valore predefinito ragionevole è quello guess_timezone()
fa già, ad eccezione senza le avvertenze. Puoi ottenere questo comportamento con ad es.
date_default_timezone_set(@date_default_timezone_get());
nella parte superiore del programma. Questo è ciò che MediaWiki fa (tranne con che modifica error_reporting
invece di usare @
). Abbiamo rubato l'idea a un'altra app web. È più comodo rispetto alla duplicazione della funzionalità di guess_timezone()
nell'applicazione.
E 'prerogativa di Derick per infastidire tutti gli utenti a morte con avvertimenti, come il suo modo di indicare la sua avversione per lo stato del sistema operativo supporto per l'interrogazione del fuso orario del sistema. Questa è la ricompensa che gli diamo per aver scritto un sacco di codice data/ora.
La parte fondamentale di questa soluzione è date_default_timezone_get
funzione, che, al fine, restituisce il fuso orario predefinito dalla ...
- leggere il set fuso orario utilizzando la funzione
date_default_timezone_set()
(se presente)
- lettura della variabile ambiente TZ (se non vuota) (Prima
PHP 5.3.0
)
- lettura del valore dell'opzione ini
date.timezone
(se impostato)
- interrogare il sistema operativo host (se supportato e consentito dal sistema operativo)
@ NicolòMonili ancora credi nella magia? Pensavo che lo abbiano abolito ad un certo punto (o meglio dopo) nel Medioevo. La scienza è la magia * de jour *! –
Questa domanda sembra essere off-topic perché può essere trovata con una semplice [ricerca] (https://www.google.com.sg/search?q=date.timezone+E_WARNING+--+Really+necessario) –
StasM ha risposto molto bene qui: http://stackoverflow.com/a/11749041/1952201 – huwiler