J'utilise XAMPP (PHP version 5.3.1) sur winxp. Lorsque j'essaie d'appeler la fonction time () ou date () sur mon hôte local. Il affichera un message d'avertissement comme ceci,
Gravité: avertissement
Message: date () [function.date]: Il n'est pas sûr de se fier aux paramètres de fuseau horaire du système. Vous êtes obligatoire pour utiliser le paramètre date.timezone ou la fonction date_default_timezone_set (). Si vous avez utilisé l'une de ces méthodes et que vous recevez toujours cet avertissement, vous avez très probablement mal orthographié l'identificateur de fuseau horaire. Nous avons plutôt sélectionné 'UTC' pour '8.0/no DST'
Nom de fichier: helpers/date_helper.php
Comment désactiver l'avertissement? Merci.
Essayez de définir date.timezone
Dans le fichier php.ini
. Ou vous pouvez le régler manuellement à l'aide de ini_set()
ou date_default_timezone_set()
.
Vous devez définir le smth de fuseau horaire par défaut comme ceci:
date_default_timezone_set('Europe/Bucharest');
Plus d'informations à ce sujet dans http://php.net/manual/en/function.date-default-timezone-set.php
Ou vous pouvez utiliser @
devant la date pour supprimer l'avertissement cependant car l'avertissement indique qu'il n'est pas sûr de s'appuyer sur le fuseau horaire par défaut du serveur
Vous pouvez également utiliser ceci:
ini_alter('date.timezone','Asia/Calcutta');
Vous devez l'appeler avant d'appeler une fonction de date. Il accepte la clé comme premier paramètre pour modifier les paramètres PHP pendant l'exécution et le deuxième paramètre est la valeur.
J'avais fait ces choses avant de comprendre ceci:
date_default_timezone_set("Asia/Calcutta");
utilisée - n'a pas fonctionnéini_alter()
- IL A FONCTIONNÉdate_default_timezone_set("Asia/Calcutta");
- IL A FONCTIONNÉPour moi, la méthode init_alter()
a tout fonctionné.
J'utilise Apache 2 (pré-installé), PHP 5.3 sur OSX Mountain Lion
Cela m'arrive parce que dans le php.ini la date.timezone n'était pas définie!
; date.timezone = Europe/Berlin
L'utilisation de la fonction php date () a déclenché cet avertissement.
error_reporting(E_ALL ^ E_WARNING);
:)
Vous devez changer sous "Comment réparer l'avertissement de date () en PHP" ...