Aller au contenu

[Resolu] Problème avec la fonction date


Nenex

Sujets conseillés

Slt

Je me suis installe Dolibarr en local avec UwAmp 3.0.2. Mais sur certaine page j'ai ce message :

Warning: strtotime() [<a href='function.strtotime'>function.strtotime</a>]: 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 'Europe/Paris' for '2.0/DST' instead in H:\SITES\uwamp\www\dolibarr\htdocs\core\lib\date.lib.php on line 146


J'ai regarde la ligne 146 dans le fichier date.lib.php :

function dol_time_plus_duree($time,$duration_value,$duration_unit){	if ($duration_value == 0)  return $time;	if ($duration_unit == 'w') return $time + (3600*24*7*$duration_value);	if ($duration_value > 0) $deltastring="+".abs($duration_value);	if ($duration_value < 0) $deltastring="-".abs($duration_value);	if ($duration_unit == 'd') { $deltastring.=" day"; }	if ($duration_unit == 'm') { $deltastring.=" month"; }	if ($duration_unit == 'y') { $deltastring.=" year"; }	return strtotime($deltastring,$time);}

J'ai fait une traduction avec google pour voir si ca pouvait m'aider. Apparement il ne peut pas s'appuyer [utiliser ?] sur les paramètres de fuseau horaire du système. Et qu'il faudrait utiliser le réglage de date.timezone ou la fonction () date_default_timezone_set. Je suis une bille en PHP, donc ca ne me dit absolument rien.

Merci d'avance pour votre aide.

Modifié par Nenex
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,



Deux solutions :



Soit tu modifies le fichier php.ini si tu y as accès et ajoute la ligne suivante :



date.timezone = "Europe/Paris"

Soit tu modifies ta fonction et ajoutes cette ligne au début :



date_default_timezone_set('Europe/Paris');

Le mieux est de modifier le php.ini (et relancer Apache), cela t'évitera d'avoir à modifier tous tes scripts.

Lien vers le commentaire
Partager sur d’autres sites

J'ai un petit souciCa marche pas huh.gif . J'ai suivis ton conseil et ajoute date.timezone = "Europe/Paris" dans le fichier php.ini. J'enregistre le fichier et relance Apache, mais le probleme est toujours present. Je me suis rendu compte que la ligne que j'ai ajoute n'y ai plus blink.gif . J'ai refais toutes les manips, mais la ligne est supprime a chaque fois.



Comme tu ma dit de relancer apache, c'est bien le fichier qui se trouve dans uwamp\bin\apache ? j'ai ajoute la ligne au debut du fichier :



[PHP]

date.timezone = "Europe/Paris"

;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.


Lien vers le commentaire
Partager sur d’autres sites

Effectivement il y en avait deja une :



[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =

; http://php.net/date.default-latitude
;date.default_latitude = 31.7667

Je l'ai donc supprime et ajoute ma ligne. Mais ca fait pareil, ca me supprime ma ligne et remet celle d'origine.


Lien vers le commentaire
Partager sur d’autres sites

Es-tu certain d'avoir les droits d'écriture pour ce fichier ? Qu'il n'est pas en "lecture seule" ?


Sinon, tente en ajoutant la ligne



date_default_timezone_set('Europe/Paris');

dans ton script


Lien vers le commentaire
Partager sur d’autres sites

Je sais d'ou ca vient ! juste en dessous du fichier php.ini il y en a un qui s'appel php.ini READ ME FIRST (je n'avais pas fait gaffe a lui et heureusement qu'il y a READ ME FIRST ecrit en gros rolleyes.gif). Et dedans il est dit qu'il ne faut pas modifier le fichier php.ini mais le fichier uwamp\bin\php\VersionDePhp/php_uwamp.ini. Donc en ajoutant date.timezone = "Europe/Paris" a ce fichier j'ai plus le message d'erreur.



Merci pour ton aide Dan et a toi aussi captain_torche smile.gif


Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...