Aller au contenu

[Resolu] Problème avec la fonction date


Sujets conseillés

Posté (modifié)

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
Posté

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.

Posté

Merci pour ton aide. Je me sert de UwAmp pour faire des sites sous Joomla, ca ne risque pas de les affecter si je modifie cette fonction ?


Posté

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.


Posté

Regarde si tu n'as pas une ligne date.timezone plus loin dans le fichier php.ini....


Posté

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


Posté

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


Veuillez vous connecter pour commenter

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



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