Ich habe einige Webanwendungen, die unter PHP 7.4.26 auf einem Windows-Server laufen. In diesem Jahr (2023) hat die mexikanische Regierung beschlossen, die Sommerzeit (DST) nicht mehr zu verwenden, was für mich ein Problem darstellte. Meine Webanwendung erfordert die Zeitzone America/Mexico_City, aber PHP verwendet weiterhin die Sommerzeit, wodurch unerwünschte zusätzliche Zeit entsteht. Ich konnte die Windows-Serverzeit so ändern, dass die Sommerzeit ignoriert wird. Daher verfügt der Server über die entsprechende Zeit. Aber PHP liefert immer falsche Ergebnisse. Ich kann den Server nicht ändern, um ihn um eine Stunde zu verkürzen (als Workaround), da er für andere Nicht-PHP-Anwendungen verwendet wird. Wie zwinge ich PHP, die Sommerzeit zu ignorieren, damit ich weiterhin die richtige Zeitzone verwenden kann? Vielen Dank.
不幸的是,如果不升级到 PHP 8+,您将无法更改时区 DST。
PHP 包含IANA 时区数据库和定期使用较新版本的 PHP 进行更新。
正如您在 IANA 邮件列表中看到的,墨西哥直到 2022 年 10 月的 2022e 版本才添加取消夏令时的更改。
正如此 3v4l 所示,没有任何版本的 PHP 7 与时区数据库捆绑在一起,其中包含以下更改墨西哥。您需要的最低版本为 8.0.26、8.1.13 或 8.2。由于 PHP 7 已经停产并且不再接收任何更新,因此现在是升级的好时机。