如何修复与时区相关的PHP错误(function.strtotime和function.date)

Kee*_*fer 14 php

升级到新服务器,我两次重复错误:

警告:strtotime()[function.strtotime]:依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们在'EST/-5.0/no DST'中选择'America/New_York'代替......

警告:date()[function.date]:依赖系统的时区设置是不安全的.您需要使用date.timezone设置或date_default_timezone_set()函数.如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符.我们在'EST/-5.0/no DST'中选择'America/New_York'代替

我该如何解决这些问题?

有问题的代码是这样的:

'date' => date("Y-M-d",strtotime($Array['_dateCreated'])),
Run Code Online (Sandbox Code Playgroud)

我已经尝试将它放在我所有页面顶部的包含中:

<?php
date_default_timezone_set('America/New_York');
?>
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助.

Now*_*why 29

date.timezonein php.ini可以全局解决这个问题.

  • 您可以通过执行 `phpinfo()` 并查找 `Loaded Configuration File` 来找出您的服务器关心哪个 `php.ini`。 (2认同)

Kee*_*fer 27

修正此问题

date_default_timezone_set('America/New_York');
Run Code Online (Sandbox Code Playgroud)

在抱怨的实际文件中.