web-dev-qa-db-fra.com

date_default_timezone_get (): Il n'est pas sûr de se fier aux paramètres de fuseau horaire du système

Quelqu'un peut-il me dire pourquoi est-ce que j'obtiens cette erreur lors de l'exécution de l'application/console dans un tout nouveau macbook formaté avec le dernier MAMP installé?

Avertissement: date_default_timezone_get (): Il n'est pas sûr de se fier aux paramètres de fuseau horaire du système. Vous êtes * obligé * d'utiliser le paramètre date.timezone ou la fonction date_default_timezone_set (). Si vous avez utilisé l'une de ces méthodes et que vous recevez toujours cet avertissement, vous avez très probablement mal orthographié l'identificateur de fuseau horaire. Nous avons sélectionné 'Europe/Helsinki' pour 'EEST/3.0/DST' à la place dans /../Logger.php ligne 112

J'ai vérifié le chemin de php.ini et j'ai marqué le date.timezone = "Europe/Athens"

Redémarrage également MAMP/Apache plusieurs fois.

26
Radolino

Défaut php.ini dans OS X se trouve à:

/private/etc/php.ini

Quoi qu'il en soit, vous pouvez indiquer à CLI php pour charger les paramètres MAMP , ou utiliser un alias de la commande MAMP elle-même .

21
moonwave99

Sur AppKernel.php, écrivez:

public function init() {
    date_default_timezone_set( 'Europe/Lisbon' );
    parent::init();
}

Puisque init() est obsolète (et sera supprimé dans Symfony2 3.0), il est recommandé de déplacer le code dans le constructeur comme dans l'exemple suivant:

public function __construct($environment, $debug) {
    parent::__construct($environment, $debug);
    // get rid of Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone
    date_default_timezone_set( 'Europe/Paris' );
}
21

Vous ne modifiez pas le bon fichier php.ini

Vous pouvez obtenir un phpinfo () complet en utilisant:

php -i 

Et, là-dedans, il y a le fichier php.ini utilisé:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
8
acubens

J'ai eu le même problème, et il est vrai qu'il y a une ligne de commande et le service MAMP/Native Mac PHP fonctionnant sur Yosemite, et pendant que j'essayais de suivre les instructions sur cette page, aucun d'eux semblait fonctionner pour moi.

Quand j'ai exécuté la commande php:

$ php -i | grep 'Configuration File'<br>
Configuration File (php.ini) Path => /etc<br>
Loaded Configuration File => <em>(Blank)</em>

J'ai réalisé que le php.ini que la CLI utilisait était en fait un fichier php.ini.default. J'ai créé un lien symbolique vers ce fichier comme le php.ini et tout a fonctionné.

My-MacPro:/etc/$ ln -s php.ini.default php.ini

6
B. Clincy

J'ai suivi vos réponses, mais dans mon cas, aucune n'a fonctionné. J'ai décidé d'aller changer la date_default_timezone_get() dans le fichier logger.php.

Je l'ai remplacé par mon réglage de fuseau horaire ("Europe/Berlin"), et tout s'est bien passé!

Solution old school mais toujours une solution.

4
Franck

J'ai eu exactement le même problème avec mon installation SF2.

Pour résoudre ce problème, allez dans votre php.ini fichier sur /etc/php.ini et changez votre fichier pour qu'il ressemble à ceci (ajustez votre fuseau horaire en fonction de votre fuseau horaire local):

;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;;

[Date] 
; Defines the default timezone used by the date functions 
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone 
date.timezone = Europe/London
4
crmpicco

Votre php.in par défaut dans Mac OSX se trouve à /etc/php.ini qui est exactement le même que le /private/etc/php.ini fichier.

Vous devez savoir que vous avez la possibilité d'utiliser deux versions php fonctionnant en parallèle. J'ai eu ce problème parce que j'utilisais le php natif mac osx, mais j'ai dû installer un paquet php via homebrew, puis j'ai obtenu l'autre version de php via homebrew. même si j'avais le fuseau horaire déjà configuré dans mon php.ini fichier sur /etc/php.ini, J'avais toujours le même problème, donc je lance:

php -i | grep 'Configuration File'

afin de configurer le bon fichier, j'ai donc obtenu:

Configuration File (php.ini) Path => /usr/local/etc/php/5.3
Loaded Configuration File => /usr/local/etc/php/5.3/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 
'America/Buenos_Aires' for 'ART/-3.0/no DST' instead in Unknown on line 0

Ensuite, je savais que je devais modifier le /usr/local/etc/php/5.3/php.ini fichier.

Après cela, tout s'est bien passé. Je n'avais plus ce problème.

J'espère que cela vous aidera à résoudre ce problème.

Habituellement, il existe des php.ini fichiers pour CLI et Apache. Assurez-vous que vous avez modifié celui dont vous avez besoin.

1
Elnur Abdurrakhimov

Par défaut, Mac utilise dans la console le PHP situé à:

/private/etc/php.ini

Vous devez utiliser celui-ci car MAMP désactive toujours la variable de fuseau horaire et vous obtiendrez toujours cette erreur.

1
andresgz

J'ai eu un problème similaire sur OS X 10.9. Le problème dans mon cas était l'absence d'un php.ini fichier dans /etc. J'ai résolu le problème en créant ce php.ini fichier avec le contenu:

date.timezone = Europe/Athens
1
Evgeny Boyko