Php Symfony2.1生产环境使用其他时区作为测试

Php Symfony2.1生产环境使用其他时区作为测试,php,symfony,deployment,Php,Symfony,Deployment,sf2.1应用程序的测试和产品环境托管在同一台服务器上。除了自定义的config.yml 起初,dev和test环境也有这个问题。我用以下代码解决了这些环境中的问题,所以我认为这也适用于prod环境 class AppKernel extends Kernel { public function init() { date_default_timezone_set('Europe/Amsterdam'); setlocale(LC_ALL, 'nl_NL'); paren

sf2.1应用程序的测试和产品环境托管在同一台服务器上。除了自定义的
config.yml

起初,
dev
test
环境也有这个问题。我用以下代码解决了这些环境中的问题,所以我认为这也适用于
prod
环境

class AppKernel extends Kernel
{
public function init()
{
    date_default_timezone_set('Europe/Amsterdam');
    setlocale(LC_ALL, 'nl_NL');
    parent::init();
}
我试过的其他东西

  • 清除环境缓存
  • 上载带有var_dump(new\DateTime())的plain test.php文件。所有环境中都转储了正确的时间,因此这是特定于Symfony的

  • 为什么您要在代码中这样做而不是使用
    php.ini
    ?因为php.ini是正确的,因为它在测试环境中工作得很好。我做的第一件事是尝试将问题本地化,我认为这与Apache/PHP设置无关。在Symfony之外转储新的DateTime会在测试和产品环境中产生正确的日期。因此,唯一发生错误的地方是prod env上的Symfony。错误只发生在Symfony(控制器、条令、细枝)中。当我创建一个普通PHP文件并转储一个新的DateTime(“now”)时,日期是正确的。除此之外,在同一台服务器上的
    test
    环境中不会出现错误。所以,这就是为什么我不明白在哪里调试这个。。。