Cakephp 时区错误
我对蛋糕有一个奇怪的问题。我住在德国。当我添加帖子时,“创建”数据库字段中的时间是6小时前。例如,下午6点创建的帖子在数据库中显示为上午12点创建的帖子。 我使用托管服务器,并联系了将php.ini设置为正确时区(欧洲/柏林)的公司。当我请求servers php.ini时,它正确地显示了时区“Europe/Berlin”。但是当我运行代码时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
$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。我要试试戴维的主意。无论如何,谢谢:-)好吧,它在蛋糕中显示了正确的时区,但是保存的帖子仍然是错误的时间。这让我们假设服务器在区域设置方面存在一些问题。我会回来告诉服务器公司的回复。