And*_*ker 5 php wordpress timezone error-log
WordPress 对 PHP 错误日志中的所有时间戳使用 UTC / GMT。我想在本地服务器时区中使用时间戳。在 WP 设置中更改时区无济于事;这会影响时间显示,但不会影响错误日志中的时间戳。
(我知道 wp_settings.php 文件中有一行设置了这一点,我理解更改设置会弄乱 WP 代码的部分硬编码以使用 UTC。)
我已经研究过覆盖 PHP error_log 函数来解析时间并替换它,但是我发现这两种方法需要额外安装一些东西(APD 或 Runkit)。据我了解,这些仅适用于 DEV 环境,所以我不想弄乱它们。
关于如何让 WP 将本地时区标记写入错误日志的任何建议?
使用 UTC 记录时间是有原因的。许多时区使用夏令时。对于这些区域,春季会跳过一个小时,秋季会重复一个小时。如果您要使用当地时间进行记录,则没有一种简单的方法可以消除重复值之间的歧义。
例如,如果您位于美国东部时区 ( "America/New_York") 并且使用当地时间登录,则 2014-11-02 01:30:00 之类的值可能表示东部夏令时间 1:30 或东部夏令时间 1:30东部标准时间 - 一个小时后。
如果您记录得足够频繁,您也许能够通过比较附近日志条目中其他项目的时间戳来检测到这一点。但总的来说,这不是一个很好的解决方案,因为您可能只是偶尔记录,或者您可能不希望一次分析多个日志条目的开销。
除了夏令时之外 - 还有一个问题是,如果您从多个服务器获取日志文件,它们应该能够统一进行比较。也许我在美国东海岸和西海岸有网络服务器,一台在欧洲,一台在日本。如果我的全球流量出现峰值 - 我不必进行时区转换来进行排列。
如果您确实必须登录当地时间 - 那么请考虑将 UTC 偏移量与时间戳一起包含在内。这在某些语言中称为“DateTimeOffset”,也是 ISO-8601 标准的一部分。例如,"2014-06-20T01:23:45-07:00"。通过这样做,您至少允许转换回 UTC 并消除夏令时引起的任何歧义。
我不知道是否有特定的方法让 WordPress 或 PHP 以这种方式登录,但也许其他人可以提供单独的答案。
| 归档时间: |
|
| 查看次数: |
1340 次 |
| 最近记录: |