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