0
PHP Warning:  strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.
timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still ge
tting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for '-8.0/no D
ST' instead in C:\xampp\htdocs\cake_1_2\cake\libs\cache.php on line 429

只有当我尝试在新的 cakephp 1.2.6 应用程序中使用 bake 时,我才会得到这个。如果我在默认的应用程序文件夹(蛋糕构建附带的文件夹)中运行烘焙,它会执行此操作。如果我从旧的 1.2.5 项目 (cake_1_2/myapp) 运行 bake,它可以正常工作。

CakePHP 1.2.6 项目还有其他人有这个问题吗?

这不是 PHP 问题,因为它会与我尝试过的任何时间函数保持一致。

4

3 回答 3

3

嗯,这一个PHP问题。见描述date_default_timezone_set

注意:自 PHP 5.1.0 起(重写日期/时间函数时),如果时区无效,每次调用日期/时间函数都会生成 E_NOTICE,如果使用系统设置或TZ 环境变量。

5.3.0 现在抛出 E_WARNING 而不是 E_STRICT。

正如警告消息所述,Cake 忽略了使用date_default_timezone_set显式设置时区,这被认为是不可靠的,因此发出警告。这似乎只是 CLI 应用程序的情况。我不知道 1.2.5 和 1.2.6 之间是否存在回归,但 1.3 绝对应该符合 PHP 5.3 的标准。

/cake/console/cake.php您只需在脚本中设置时区即可轻松摆脱此警告。

于 2010-02-17T23:15:18.610 回答
2

而不是修改核心文件,将您的时区添加到 ./app/config/core.php

date_default_timezone_set ("America/Los_Angeles");
于 2010-09-20T06:43:31.267 回答
0

我取消了./app/config/core.php中的 232 行的注释。我使用的是 2.2.3 版本。

这是行:

/**
 * Uncomment this line and correct your server timezone to fix 
 * any date & time related errors.
 */
date_default_timezone_set('UTC');
于 2012-11-09T22:45:01.400 回答