在 Linux 上使用 PHP 架设系统时,被应用程序提醒:「PHP配置中没有 date.timezone 设置,系统将预设时区设置为 UTC。但我们建议你自行设置此时区。」

经查后发现,原来自从 PHP 5 版本开始,便不再预设时区(data.timezone),导致程序都以 UTC(世界协调时间(Coordinated Universal Time))为准,也就是 GMT+0。

如此一来,对于东亚洲地区(中华民国以台湾岛上的首都台北时区为准)的我们来说,在运行会使用到 date 相关函数的应用程序时,都会少了 8 个小时。

如何修改 PHP date.Timezone?

透过 command 指令,或是 panel 操控面板,找到对应的 PHP 配置表。一般来说主要是「php.ini」这个文件,但根据操作系统的使用方式可能有些微不同。

下列设置就是 PHP 原始数据的 [date] 字段,大家可直接查找 timezone 关键字快速查找:

[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone ;date.timezone =

接着,将「;date.timezone =」修改为正确时区「date.timezone = “Asia/Taipei”」,再重新启动 Apache 服务器即可完成设置。

第二种设置 PHP Timezone 的方法

另外,如果你使用的是共享主机,例如 Bluehost。可能系统权限不允许你修改底层的 PHP.INI,这时候就可以在程序里输入下列指令,一样可以修改正确时区:

date_default_timezone_set(“Asia/Taipei”)

唯一要注意的是,这种方法只适用特定应用程序,也就是说如果你有两套独立程序在跑,便需要分别设置!

✦ 独立报道 · 读者支持 ✦

以实际行动支持独立观点,与我们一同走得更远

每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。

维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。

由 Google 安全处理付款 · 可随时在 Google 账户管理或取消