由于英国夏令时 (BST) 正在运行 (GMT+1),我的 PHP 脚本目前延迟一小时。
有没有办法设置 php.ini 的 date.timezone 以保持 BST/DST 时间正确,而无需在时钟回溯时手动修改它?
或者,如果 PHP 使用服务器的时间(这是正确的),那么就可以了。有没有办法告诉它这样做?
答案1
假设 PHP 比较新,如果您通过 date_default_timezone_set() 正确定义 date.timezone,PHP 将自行处理 GMT 偏移量。另一方面,假设您仍使用旧版 PHP,则必须执行以下三项操作之一:
- 咬紧牙关,升级 PHP
- 咬紧牙关,自己实现 TZ 机制(不是推荐,但请参阅这里举几个不同程度糟糕的例子),或者
- 开始在你的代码中做一些像 system('date') 这样的异端的事情。
其中,最明显的解决方案是 PHP 升级。你的版本到底有多旧?