php.ini date.timezone 有什么用处?

php.ini date.timezone 有什么用处?

我不确定这是针对 serverfault 还是 stackoverflow 的问题,但它似乎与服务器配置有很大关系。

我们在芝加哥有一台服务器,服务器时钟采用芝加哥时间。但由于公司位于加利福尼亚州,因此使用太平洋时间似乎更合理。

当服务器时间为芝加哥,并且 php.ini 指令 date.timezone 设置为“America/Los_Angeles”时会发生什么情况?这会对写入 mysql 的日志、错误日志等产生什么影响?

我查看了 Apache 错误日志,正如我所料,php 指令不会影响它。时间均为服务器时间。

谢谢。

答案1

PHP 脚本和 PHP 本身将使用太平洋时间,但其他一切(包括 Apache 和 MySQL)将使用系统定义的时区。

答案2

只有 PHP 会使用不同的时区。

由于您还询问这将如何影响写入的日志MySQL(而不是经过MySQL):
这取决于您的应用程序。

如果您登录到 MySQL 并使用 MySQL 函数(例如 NOW()),它将使用系统时区。
如果您通过 PHP date() 函数生成日期并将其写入 MySQL,则这些日期将位于 php.ini 指定的时区中。
如果您将它们混合在一起来存储时间,则显然会遇到一些问题...

我总是尝试让一台服务器上的所有应用程序具有相同的时区。

答案3

需要补充的是,无论设置如何,php 自己的error_log(如果指定)都会记录在 中。UTC+0date.timezone

相关内容