Fedora 上的 PHP 默认时区问题 + Zend 服务器CE

发布于 2024-08-28 04:15:14 字数 819 浏览 10 评论 0原文

我在 Fedora VM 上安装了 ZendServer CE (PHP 5.2),并将系统时区设置为“美国/芝加哥”。我的 php.ini 文件中有 date.timezone = 'UTC',当我调用 date_default_timezone_get() 或在网页上显示日期('T')时,它会显示“CDT”。

php.net 上的 date_default_timezone_get() 文档表示,在选择默认时区时,它遵循以下顺序:

 - Reading the timezone set using the
   date_default_timezone_set() function
   (if any)
 - Reading the TZ environment variable
   (if non empty)
 - Reading the value of the
   date.timezone ini option (if set)
 - Querying the host operating system
   (if supported and allowed by the OS)

如果我通过“设置”GUI 更改系统时区,并重新启动服务器,则 d​​ate('T') 返回我更改的任何内容系统时区,无论 php.ini 说什么。我也没有 TZ 环境变量,并且我当前没有在代码中的任何位置使用 date_default_timezone_set() 。

知道会发生什么吗?我意识到我总是可以通过调用 date_default_timezone_set('UTC') 来覆盖系统时区,但如果可能的话,我宁愿依赖 php.ini 文件。

感谢您的帮助,

戴夫

I have ZendServer CE (PHP 5.2) installed on a Fedora VM, and I have the system timezone set to 'America/Chicago'. I have date.timezone = 'UTC' in my php.ini file, and when I call date_default_timezone_get(), or display date('T') on a web page, it says 'CDT'.

The documentation on php.net for date_default_timezone_get() says it follows this order when choosing a default timezone:

 - Reading the timezone set using the
   date_default_timezone_set() function
   (if any)
 - Reading the TZ environment variable
   (if non empty)
 - Reading the value of the
   date.timezone ini option (if set)
 - Querying the host operating system
   (if supported and allowed by the OS)

If I change the system timezone through the 'setup' GUI, and reboot the server, date('T') returns whatever I changed the system timezone to, regardless of what php.ini says. I also don't have a TZ environment variable, and I am not currently using date_default_timezone_set() anywhere in my code.

Any idea what might be going on? I realize I can always override the system timezone by calling date_default_timezone_set('UTC'), but I'd rather rely on the php.ini file if possible.

Thanks for the help,

Dave

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱她像谁 2024-09-04 04:15:14

我认为你已经设置了 TZ,即使你认为你没有。请小心,查看本教程以更好地理解 TZ。

http://www.cyberciti.biz/tips/日期命令设置-tz-环境变量.html
http://www.cyberciti.biz /faq/howto-linux-unix-change-setup-timezone-tz-variable/

另请尝试查看用户的 .bashrc 中的内容

I think you have TZ set, even though you think you don't. Please be careful, check this tutorial to understand TZ better.

http://www.cyberciti.biz/tips/date-command-set-tz-environment-variable.html
http://www.cyberciti.biz/faq/howto-linux-unix-change-setup-timezone-tz-variable/

Also try to see what is in your user's .bashrc

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文