Maison  >  Article  >  développement back-end  >  Que se passera-t-il si le fuseau horaire PHP n'est pas modifié ?

Que se passera-t-il si le fuseau horaire PHP n'est pas modifié ?

藏色散人
藏色散人original
2021-12-01 09:24:461439parcourir

Si le fuseau horaire PHP n'est pas modifié, l'heure saisie dans la base de données et l'heure obtenue seront différentes de l'heure réelle. La solution : 1. Changez "data.timezone = PRC" dans le fichier php.ini ; . Ajoutez "data_default_timezone_set('PRC');".

Que se passera-t-il si le fuseau horaire PHP n'est pas modifié ?

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.4, ordinateur DELL G3

Que se passera-t-il si le fuseau horaire php n'est pas modifié

Si le fuseau horaire php n'est pas modifié ? , l'heure saisie dans la base de données et l'heure obtenue seront différentes. L'heure réelle est différente.

Solution aux problèmes de fuseau horaire rencontrés en PHP

Récemment, lors de l'écriture d'un petit programme utilisant PHP+MySQL, j'ai découvert un problème : l'heure saisie dans la base de données est de 8 heures différente de l'heure réelle, qui est de 8 heures à l'est de l'endroit où se trouve la Chine. La zone est cohérente. Puisque l’heure de la base de données est écrite par PHP, le problème se produit en PHP.

Récemment, en train d'apprendre PHP, j'ai découvert que l'horodatage formaté en PHP est 8 heures plus tard que l'heure de Pékin. Après une recherche en ligne, j'ai découvert que le fuseau horaire était erroné. La solution est la suivante :

1. Modifier définitivement

Changer php. data.timezone = PRC dans le fichier ini C'est l'heure de la Chine. Cela prendra effet après le redémarrage du service Apache.

2. Modification temporaire

Avant d'utiliser l'heure d'entrée formatée, ajoutez la fonction ini_set('date.timezone','Asia/Shanghai');

ou data_default_timezone_set('PRC');//date_default_timezone_set() paramètre de fonction Fuseau horaire par défaut. pour toutes les fonctions date/heure dans les scripts.

Regardez les problèmes rencontrés par d'autres amis

Il y avait un problème d'héritage auparavant, c'est-à-dire que l'heure renvoyée par echo date("Y-m-d H:i:s", time()) ne correspond toujours pas à l'heure réelle. Aujourd'hui, j'ai enfin trouvé la raison et la solution sur Internet et je l'ai partagée comme suit :

De plus, suivez les conseils ci-dessous pour modifier php.ini et vous ne trouvez pas la ligne date.timezone. Bien sûr que non, haha. Sinon, ajoutez-le vous-même et préparez vous-même suffisamment de nourriture et de vêtements. En ajoutant date.timezone = "PRC", le problème est résolu, heureux

À partir de php5.1.0, l'option date.timezone a été ajoutée à php.ini Elle est fermée par défaut

C'est ce qui est affiché L'heure. (peu importe la commande php utilisée) est l'heure moyenne de Greenwich, qui est exactement de 8 heures différente de notre heure (heure de Pékin). Il existe trois méthodes ci-dessous pour restaurer l'heure normale.

1. Le moyen le plus simple est de ne pas utiliser php5.1 ou supérieur

2 Si vous devez l'utiliser et ne pouvez pas modifier php.ini, vous devez ajouter date_default_timezone_set (XXX) à l'instruction d'initialisation sur l'heure ;

.

3, une fois pour toutes, ne peut modifier que php.ini. Ouvrez php.ini et recherchez date.timezone. Supprimez le point-virgule devant lui

= et ajoutez XXX après. Redémarrez le service http (comme apache2 ou iis, etc.)

Apprentissage recommandé : "Vidéo PHP. Tutoriel"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn