Voici le message d’erreur PHP qui est apparu récemment dans mes logs Apache :
PHP Warning: strtotime(): 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 the timezone ‘UTC’ for now, but please set date.timezone to select your timezone.
Ajout de la directive date.timezone dans php.ini
On commence par trouver le fichier php.ini qui est actuellement utilisé par le serveur. Il en existe plusieurs, suivant les modules activés donc on commence par repérer le bon avec :
php -i | grep 'Configuration File'
Code language: JavaScript (javascript)
Résultat :
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
PHP Warning: Unknown: 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 the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0
Code language: JavaScript (javascript)
Effectivement, l’erreur est répétée même dans un simple phpinfo(). On édite donc notre fichier :
nano /etc/php5/cli/php.ini
La page de manuel des timezones nous indique toute la liste des fuseaux horaires disponibles. Nous choisissons celle qui correspond à l’emplacement de notre serveur : ‘Europe/Paris’.
On recherche la bonne directive avec Ctrl + W et en tapant :
date.
On trouve alors :
[Date]
; Defines the default timezone used by the date functions
; http://php.net/manual/en/datetime.configuration.php#ini.date.timezone
;date.timezone =
Code language: JavaScript (javascript)
qu’il faut modifier en :
[Date]
; Defines the default timezone used by the date functions
; http://php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = 'Europe/Paris'
Code language: JavaScript (javascript)
On relance Apache pour prendre en compte la nouvelle configuration :
service apache2 restart
Ajout de la fonction date_default_timezone_set() dans votre script PHP
Il est fort possible que votre script PHP ne fonctionne pas si la fonction date_default_timezone_set()
ne précède pas votre code concernant les fonctions relatives aux dates.
Vous devez donc éditer votre script et ajouter cette ligne avant votre code :
date_default_timezone_set('Europe/Paris');
Code language: JavaScript (javascript)
Et voilà, problème réglé.
Rencontrez-vous des défis avec votre site WordPress ou WooCommerce? Laissez-moi les résoudre pour vous.
yes super tuto merci
grâce à toi j’ai résolu mon problème de date pour mon site.
par contre précision pour redemarrer un serveur centos la commande est “service httpd restart”
Je t’en prie Claire – merci pour la commande pour CentOS.