Cakephp 时区错误

Cakephp 时区错误,cakephp,timezone,Cakephp,Timezone,我对蛋糕有一个奇怪的问题。我住在德国。当我添加帖子时,“创建”数据库字段中的时间是6小时前。例如,下午6点创建的帖子在数据库中显示为上午12点创建的帖子。 我使用托管服务器,并联系了将php.ini设置为正确时区(欧洲/柏林)的公司。当我请求servers php.ini时,它正确地显示了时区“Europe/Berlin”。但是当我运行代码时 $timezone = date_default_timezone_get(); echo "The current server timezone is

我对蛋糕有一个奇怪的问题。我住在德国。当我添加帖子时,“创建”数据库字段中的时间是6小时前。例如,下午6点创建的帖子在数据库中显示为上午12点创建的帖子。 我使用托管服务器,并联系了将php.ini设置为正确时区(欧洲/柏林)的公司。当我请求servers php.ini时,它正确地显示了时区“Europe/Berlin”。但是当我运行代码时

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;
在CakePHP中,它显示

The current server timezone is: America/New_York
我已经尝试在core.php中设置:

date_default_timezone_set('Europe/Berlin');
但这根本没有效果。 希望有人知道该怎么做

编辑1:

在请求支持人员运行“locale-a”后,出现了以下问题:

# locale -a
C
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
deutsch
en_US.utf8
german
POSIX
我假设服务器端的一切都很好,并且错误很严重。 但我不知道下一步该怎么办?也许有人能帮忙。提前谢谢

**编辑2:**

环顾四周之后,我在Usermanagement插件的bootstrap.php中发现了错误,该插件将时区设置为UTC。现在一切都好了。无论如何,谢谢你的帮助。

编辑:

如果做下面的回答没有效果(每一个操作),可能是:

很可能没有在上安装德语区域设置 运行脚本的服务器-您是否具有对脚本的shell访问权限 服务器?然后试试看

地区-a

查看安装了哪些区域设置。也看看这里是什么 依赖setlocale和正在安装的Locale是否可行


TLDR:

你的想法是对的——只要把它放在你的
Config/bootstrap.php
中就行了。而不是您的
Config/core.php。

更多详细信息:

这很可能与。答案是:

将其放在Config/bootstrap.php中:

日期\默认\时区\设置('UTC')//或者不管你的时区是什么

它只是基于服务器时间,实际上与服务器无关 CakePHP——所以只要用PHP更改默认时区,您就应该 走吧。”“已创建”和“已修改”将基于指定的 时区

重申一下,“
创建的
”和“
修改的
”字段是基于服务器的,实际上与CakePHP没有太大关系(听起来您已经正确假设了这一点)


相关项目(仅供参考)是,但在本例中,不是您想要的。

在app\u controller中设置而不是在code.php中设置。

问题已解决。问题出在一个插件中,它也有一个config.php。在那里,蛋糕配置被覆盖。现在一切都好了。

很抱歉,但没有任何效果:-(@edit of Dave。很遗憾,我没有shell访问权限,但如果他们愿意为我这样做,我会请求支持。谢谢你的大力帮助:-)我回来了。支持人员执行了命令,并发出了以下命令:#locale-a C de#u de_DE@euroiso88591标准。iso885915@euro德国的utf8,德国的utf8,德国的POSIX。那么现在该怎么办呢?我一点也不知道。不,是2.x。我要试试戴维的主意。无论如何,谢谢:-)好吧,它在蛋糕中显示了正确的时区,但是保存的帖子仍然是错误的时间。这让我们假设服务器在区域设置方面存在一些问题。我会回来告诉服务器公司的回复。