Symfony2 Date.TimeZone()问题

时间:2014-04-28 22:32:20

标签: php mysql date symfony datetime

我已经在阳光下尝试了所有功能,以便能够在安装Symfony2后运行此命令。

  

php app / console cache:clear --no-warmup或php app / console cache:clear

我每次都会收到此错误:

  

[ErrorException]警告:date_default_timezone_get():依赖系统的时区设置是不安全的。您必需使用date.timezone设置或date_default_timezone_set()函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能拼错了时区标识符。我们现在选择了时区'UTC',但请设置date.timezone以选择您的时区。 in / Applications / XAMPP / xamppfiles / htdocs / rt / vendor / jms / serializer-bundle / JMS / SerializerBundle / DependencyInjection Configuration.php第66行

第66行:

  

- > scalarNode( 'default_timezone') - >默认值(的 date_default_timezone_get ()) - >端()

我试过这个Stack Post:

  

Warning: date_default_timezone_get():

我试图编辑所有php.ini文件,为XAMPP显示phpinfo():

  

启用日期/时间支持   “Olson”时区数据库版本2013.4   时区数据库内部   默认时区UTC

$ php --ini显示

  

配置文件(php.ini)路径:/ etc(我也编辑了这个)

php.ini显示

  

date.timezone = UTC

我无法运行php composer.phar安装而无法通过这个愚蠢的date_default_timezone_set()错误。

请帮助,它已经过了2次讨价还价的日子试图解决这个问题而且我的智慧结束了。

谢谢!

4 个答案:

答案 0 :(得分:2)

我已经解决了这个问题,将此代码添加到app/AppKernel.php文件中:

use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;

class AppKernel extends Kernel {

    public function init() {
        // Change timezone
        date_default_timezone_set('America/Caracas');

        parent::init();
    }

    // ......
}

答案 1 :(得分:0)

一个好的选择是将以下内容添加到虚拟主机文件中(如果适用)

php_value date.timezone America/Caracas

答案 2 :(得分:0)

按照上面的建议在虚拟主机文件中添加以下内容

php_value date.timezone America/Caracas 

您也可以在symfony2的web文件夹中的.htaccess文件中使用相同的内容。

检查两者下的php.ini

/etc/php5/apache2/ ( for apache2 )

/etc/php5/cli/     ( for command line )

答案 3 :(得分:0)