在我的本地主机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文件以防万一,但它没有区别。 有人有什么想法吗?
运气不好后我发现,如果你直接编辑供应商''symfony''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 之间的兼容性问题。