echo timezone_name_from_abbr ("", 3600 * 7, 0); // ОК echo timezone_name_from_abbr ("", 3600 * 8, 0); //Не хорошо! ничего не вернуть! echo timezone_name_from_abbr ("", 3600 * 9, 0); // ОК
Это может быть известная ошибка: http://bugs.php.net/bug.php?id=44780
3600 * 8 = 28800 фактически находится в списке смещений, которые не работают для PHP 5.2.6.
Кажется, это известная ошибка этой функции: если вы будете искать в багтрекере php, вы найдете этот отчет: # 44780 некоторые смещения часовых поясов, не распознаваемые timezone_name_from_abbr
Этот отчет точно соответствует вашей ошибке.
Существует патч, но сама ошибка еще не помечена как решенная ... и она все еще присутствует в PHP 5.3.1-dev