Comment forcer PHP à ignorer l'heure d'été ?
P粉348915572
2023-09-03 15:48:38
<p>J'ai des applications Web exécutées sur PHP 7.4.26 sur un serveur Windows. Cette année (2023), le gouvernement mexicain a décidé de cesser d'utiliser l'heure d'été (DST), ce qui m'a posé un problème.
Mon application Web nécessite le fuseau horaire America/Mexico_City, mais PHP continue d'utiliser l'heure d'été, ajoutant du temps supplémentaire non désiré.
J'ai pu modifier l'heure du serveur Windows pour ignorer l'heure d'été. Par conséquent, le serveur dispose de l’heure appropriée. Mais PHP donne toujours des résultats erronés.
Je ne peux pas modifier le serveur pour le réduire d'une heure (comme solution de contournement) car il est utilisé pour d'autres applications non PHP.
Comment forcer PHP à ignorer l’heure d’été afin de pouvoir continuer à utiliser le bon fuseau horaire ?
Merci beaucoup. </p>
Malheureusement, vous ne pourrez pas modifier le fuseau horaire DST sans passer à PHP 8+.
PHP contient la base de données de fuseau horaire IANA et est mise à jour régulièrement avec des versions plus récentes de PHP.
Comme vous pouvez le voir sur la liste de diffusion de l'IANA, Le Mexique n'ajoutera pas le changement visant à éliminer l'heure d'été avant la version 2022e en octobre 2022.
Comme le montre ce 3v4l, aucune version de PHP 7 n'est fournie avec la base de données de fuseau horaire qui contient les modifications suivantes pour le Mexique. La version minimale dont vous avez besoin est 8.0.26, 8.1.13 ou 8.2. Puisque PHP 7 a été abandonné et ne reçoit plus aucune mise à jour, c'est le bon moment pour effectuer une mise à niveau.