php生产'没有这样的时区'新设置错误

时间:2014-12-08 10:25:50

标签: php symfony installation xampp

在我的localhost XAMPP服务器上运行symfony2应用程序(已在商业上运行)时,我收到以下错误:

Warning: IntlDateFormatter::setTimeZone(): datefmt_set_timezone: no such time zone: '1024' in C:\Dropbox\xampp\htdocs\SBSonline\sbsonline-v2\vendor\symfony\symfony\src\Symfony\Component\Form\Extension\Core\Type\DateType.php line 267

我的php.ini文件按时间设置时区:

date.timezone= "Europe/London"

从堆栈中看起来错误来自formBuilder,但正如所说应用程序正在主服务器上运行。

我已经尝试过替换php_intl.dll文件以防万一,但它没有任何区别。有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

没有运气后我发现如果你直接编辑vendor \ symfony \ symfony \ src \ Symfony \ Component \ Form \ Extension \ Core \ Type \ DateType.php你可以欺骗它

更改默认代码:

    if (version_compare(\PHP_VERSION, '5.5.0-dev', '>=')) {
        $formatter->setTimeZone(\DateTimeZone::UTC);
    } else {
        $formatter->setTimeZoneId(\DateTimeZone::UTC);
    }

为:

    if (version_compare(\PHP_VERSION, '5.5.0-dev', '>=')) {
        $formatter->setTimeZone('UTC');
    } else {
        $formatter->setTimeZoneId(\DateTimeZone::UTC);
    }

我们正在运行symfony 2.1 / php 5.5.15,所以我不知道2之间是否存在兼容性问题。