При запуске приложения symfony2 (которое уже запущено в продажу) на моем локальном сервере XAMPP я получаю следующую ошибку:
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 \ 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 или нет.
Других решений пока нет …