【问题标题】:Cake PHP timezone wrongCake PHP 时区错误
【发布时间】:2013-02-25 17:58:32
【问题描述】:

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

$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-plugin 的 bootstrap.php 中发现了错误,该错误将那里的时区设置为 UTC。所以现在一切正常。无论如何感谢您的帮助。

【问题讨论】:

    标签: cakephp timezone


    【解决方案1】:

    编辑:

    如果做下面的答案没有效果(每个 OP),它可能是this issue

    很可能是德语语言环境没有安装在 服务器上运行脚本 - 你有外壳访问 服务器?那就试试吧

    语言环境-a

    查看安装了哪些语言环境。也看看这里是 依赖 setlocale,依赖安装的 locale 可行吗?


    TLDR:

    您的想法是对的 - 只需将其放入您的 Config/bootstrap.php 即可。而不是你的Config/core.php.

    更多详情:

    这可能与this question 相同。答案是:

    把它放在你的 Config/bootstrap.php 中:

    date_default_timezone_set('UTC'); //或者你的时区是什么

    它只是基于服务器时间,实际上与它无关 CakePHP - 所以只需用 PHP 更改默认时区,你应该 去吧。 'created' 和 'modified' 将基于指定的 时区。

    重申一下,“created”和“modified”字段是基于服务器的,与 CakePHP 没有太大关系(听起来您已经正确假设了)。

    一个相关项目(仅供参考)是CakeTime::convert(),但在这种情况下,这不是您想要的。

    【讨论】:

    • 我很抱歉,但没有效果 :-(
    • @edit of Dave。遗憾的是,我没有 shell 访问权限,但我会询问支持人员,他们是否愿意为我这样做。感谢您的大力帮助:-)
    • 我回来了。支持人员运行了命令并吐出了以下内容:# 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】:

    在 app_controller 中设置而不是在 code.php 中

    【讨论】:

    • 不,它是 2.x。我会尝试 Daves 的想法。无论如何谢谢你:-)
    • 好吧,它在 cake 中显示了正确的时区,但保存的帖子仍然是错误的时间。这让我们假设服务器在语言环境方面存在一些问题。我会回来告诉服务器公司的响应。
    【解决方案3】:

    问题解决了。问题出在一个也有 config.php 的插件中。 Cake-config 在那里被覆盖。现在一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 2020-03-21
      相关资源
      最近更新 更多