J'ai défini cela dans mon fichier php.ini et j'ai redémarré le processus php5-fpm
date.timezone = "UTC"
Mais le script phpinfo () montre toujours ceci:
date.timezone America/New_York America/New_York
phpinfo()
indique également que le fichier ini correct est utilisé.
J'ai redémarré - mais le problème a persisté. Puis j'ai fait:
Sudo service nginx stop
Sudo service Apache2 start
et date.timezone est correct lorsque mod-php (Apache2) est utilisé au lieu de fcgi qui est php dans nginx.
Vous avez probablement édité le mauvais php.ini
. Voir php_info()
(ou php -i
pour l'interpréteur CLI) lequel est utilisé. Par exemple, sur Ubuntu (et probablement d’autres distributions Linux), son /etc/php5/cli/php.ini
pour l’interprète cli, /etc/php5/Apache/php.ini/
pour celui utilisé par Apaches mod_php
et /etc/php5/cgi/php.ini
utilisé par php5-cgi
(utilisé par nginx
).
Liste des valeurs de fuseau horaire prises en charge: http://php.net/timezones
Le problème semble être lié aux processus php-fpm persistants qui font référence aux anciens paramètres du fichier php.ini. Cela a fonctionné pour moi:
Obtenir les identifiants de processus pour php-fpm
root@thiru:/etc/php5/fpm/conf.d# ps aux | head -1 && ps aux | grep php-fpm | grep -v grep
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 32650 0.0 0.5 86624 17032 ? Ss 21:44 0:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data 32652 0.0 0.1 86624 4700 ? S 21:44 0:00 php-fpm: pool www
www-data 32653 0.0 0.1 86624 4704 ? S 21:44 0:00 php-fpm: pool www
Tuez les processus. En commençant par le maître.
kill -9 32650
kill -9 32652
kill -9 32653
Démarrer php-fpm en utilisant le script init
service php5-fpm start or /etc/init.d/php5-fpm start
Vérifiez votre installation FPM, si vous avez une piscine avec un chroot actif!
Si vous avez un environnement chroot, vous devez copier le fichier/etc/localtime (lien symbolique vers/usr/share/zoneinfo/xyz) et le répertoire/usr/share/zoneinfo vers votre chroot.
Messages d'erreur possibles:
Fatal error: phpinfo(): Timezone database is corrupt - this should *never* happen!
Warning: phpinfo(): Invalid date.timezone value ‘UTC’, we selected the timezone ‘UTC’ for now.
Voir https://serverfault.com/questions/413293/php-fpm-chroot-jail-corrupts-timezone-db