Aller au contenu
Nenex

[Resolu] Problème avec la fonction date

Noter ce sujet :

Recommended Posts

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

Partager ce message


Lien à poster
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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?


Partager ce message


Lien à poster
Partager sur d’autres sites

Non, pas du tout !


Partager ce message


Lien à poster
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.


Partager ce message


Lien à poster
Partager sur d’autres sites

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


Partager ce message


Lien à poster
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.


Partager ce message


Lien à poster
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


Partager ce message


Lien à poster
Partager sur d’autres sites

Regarde également si ton éditeur de fichiers est ouvert avec les droits d'administrateur sur ton poste.


Partager ce message


Lien à poster
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


Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×