定义默认时区

时间:2014-02-06 12:44:31

标签: php date symfony

我刚开始使用symfony框架进行php。起初我没有得到任何关于date_default_timezone_get()的错误但稍后我得到一个错误,如

  

date_default_timezone_get():依靠系统是不安全的   时区设置。您必需使用date.timezone设置   或者date_default_timezone_set()函数。如果您使用过任何一个   那些方法,你最有可能仍然得到这个警告   拼写错误的时区标识符。我们选择了时区' UTC'对于   现在,但请设置date.timezone以选择您的时区。在   第441行的C:\ wamp \ www \ Symfony \ app \ SymfonyRequirements.php

我将php.ini改为

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Europe/Istanbul

但没有改变。

3 个答案:

答案 0 :(得分:1)

嗯......你在错误中得到了答案。在脚本的开头添加:

date_default_timezone_set("your_timezone");

http://php.net/manual/en/function.date-default-timezone-set.php

所有时区列表如下:http://www.php.net/manual/en/timezones.php

答案 1 :(得分:0)

您可以通过覆盖 AppKernel 功能来设置默认时区。

<?php
// AppKernel.php

class AppKernel extends Kernel
{
    //..
    //.......
    //...........
    // --- Append the init function below ---

    public function init()
    {
        date_default_timezone_set( 'Asia/Kolkata' );
        parent::init();
    }
}

注意:从2.3版开始,init方法为deprecated,将在3.0中删除。您必须在构造函数中移动逻辑:

public function __construct($environment, $debug)
{
    date_default_timezone_set('Asia/Kolkata');
    parent::__construct($environment, $debug);
}

See detail description

答案 2 :(得分:0)

更改php.ini(date.timezone)中的必要行,然后重置服务器应解决您的问题。您更改了该行,但可能没有重置您的服务器。