【问题标题】:how to set default time zone in yii?yii如何设置默认时区?
【发布时间】:2013-07-30 11:44:01
【问题描述】:

我想在我的 YII 项目中设置默认时区。

date_default_timezone_set('Asia/Calcutta');

那么,它的最佳位置是什么。我应该把它放在哪里使它成为默认值。

【问题讨论】:

  • 应用程序本身有一个名为timeZone的属性。像任何其他应用程序属性一样在应用程序配置文件中设置它,Yii 会为你调用date_default_timezone_set
  • 你能详细说明一下吗?

标签: php yii timezone


【解决方案1】:

当有人引用应用程序属性或应用程序配置时,它表示“根”配置变量,在本例中为 timeZone

配置部分:

<?php
// in protected/config/main.php
return array(
    'timeZone' => 'Asia/Calcutta'
    // Other configuration....
);

【讨论】:

    【解决方案2】:

    注意:不是 Yii 或 php 的东西。您必须在 php.ini 文件中定义 date.timezone。现在我将为您提供一些解决此问题的步骤。

    • 首先创建你自己的 phpinfo.php 文件并放入 php 代码

      phpinfo();

    • 运行此脚本并查找 php.ini 文件的路径。

    • 打开 php.ini,查找 date.timezone 字符串并将值设置为(例如)

      date.timezone = '欧洲/罗马'

    现在您再也不会遇到该错误了。 为什么要在 php.ini 而不是 php 代码中修复这些东西?简单:如果您修复 php.ini 文件,您只需为所有网站执行一次此操作。如果你在 php 代码中修复这些东西,你每次开始一个新项目时都需要一次又一次地修复。

    【讨论】:

    • 我认为最好在 php 代码中修复。如果您在一个团队中工作,每个成员都应该更改他们的 php.ini。所以你需要通知所有人。如果您在 php 中修复它,则无需通知任何人。此外,如果您在共享主机中托管网络应用程序,您可能无权更改时区设置。
    • 我们在 2015 年。今天有一些团队在一台 vagrant 机器上工作。团队的所有成员都在同一台机器内工作。
    • 我的意思是配置可以一次性完成。并且所有开发者都可以升级流浪机器。如果你修复了php代码,你需要修复所有的php代码。
    • 但是在 2015 年我们正在使用版本控制系统。所以不需要修复所有的php代码:-P我不知道流浪机器。
    • 好吧,每次“买”一台机器,都得安装一些软件。每一次。但是,......您也可以使用 vagrant,创建您的“盒子”,然后与您的所有团队成员“在版本控制系统 XD 下”共享您的盒子。你的流浪机器可以复制生产机器。并且每次生产服务器需要更改时,您只需要更新 vagrant box。 1个团队成员? 1000个团队成员? ...只是流浪机器。哟!
    【解决方案3】:

    把它放在 config/main.php 这是首先读取的文件。 把它放在返回数组()之前。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-21
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 2015-07-01
      • 1970-01-01
      相关资源
      最近更新 更多