Question

J'ai eu l'erreur / l'avertissement suivant lors de l'installation de Kohana / SilverStripe.
Qu'est-ce que cela signifie et que dois-je faire pour cela?

Warning:
date_default_timezone_get():
It is not safe to rely on the system's timezone settings.
You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.
We selected 'Asia/Calcutta' for '5.5/no DST' instead in C:\Server\apache\htdocs\kohana\system\core\Kohana.php on line 136

Merci d'avance!

Était-ce utile?

La solution

Ceci n'est pas une erreur, mais un avertissement, de sorte que votre application ne soit pas bloquée.

Définissez explicitement le fuseau horaire correct à l'aide de date_default_timezone_set () dans C: \ Server \ apache \ htdocs \ kohana \ system \ core \ Kohana.php à la ligne 136

Vous devez choisir parmi les fuseaux horaires valides

.

Modifier

Comme le message d'avertissement l'indique vous-même, vous avez un choix plus propre que la modification d'un fichier logiciel tiers. C'est à dire. configurer PHP comme il se doit.

  • éditez votre php.ini et ajustez la valeur de date.timezone = America / New_York

ou

  • utilisez une directive php_value dans la configuration de votre serveur Web pour la définir dans votre configuration vhost ou .htaccess : php_value date. fuseau horaire America / New_York

Autres conseils

Le commentaire de l'OP sur sa propre question ci-dessus implique que le fuseau horaire par défaut ne peut pas être défini dans le fichier php.ini, ce qui n'est pas vrai & # 8212; En fait, dans de nombreux cas, il est préféré . Et, comme cette réponse SO est l’un des premiers hits de Google concernant "l'erreur du fuseau horaire php par défaut", je vais sauver les autres pour des raisons de santé.

Une cause très courante de cette erreur n’est pas tant de mal orthographier la zone ville ou pays (par exemple, "New York", "Los Angeles") dans le fichier php.ini utilisé, mais plutôt d’inclure des espaces plutôt que des traits de soulignement dans l'identifiant, et donc "une faute de frappe". la constante complète.

Cela fera également ce que vous voulez, sans avoir à le définir sur chaque page au moment de l'exécution (vérifié sur PHP 5.4 et 5.3, sous Windows, Linux et OSX):

Dans php.ini :

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/New_York
;               ^^^^^^^^^^^^^^^^  * Must_Use_Underscores *


De même, si vous avez vérifié et revérifié l'orthographe et que vous êtes certain , assurez-vous de modifier le fichier réel php.ini utilisé:

Contexte Web (créez un fichier de test test.php , puis confirmez le date.timezone ):     

 <?php phpinfo(); ?> 

Ligne de commande Linux / OSX:

$ php -i | grep "timezone" 

Windows en ligne de commande:

C:\> php -i | find "timezone" 


L'ordre de priorité pour récupérer la configuration de fuseau horaire de date par défaut est expliqué en détail ici .

Si vous ne pouvez pas changer php.ini , ajoutez-le à votre _ss_environment.php ou à mysite / _config.php fichiers:

date_default_timezone_set ('...');

... est l'un des fuseaux horaires PHP valides.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top