![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| teroni |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 8 Всего: 22 |
Для одного моего сайта принципиально важно, чтобы там всегда было точное время.
Но ведь в php функция времени даёт данные с того сервера, где находится скрипт. У меня этот сайт был на нескольких виртуальных хостингах и на некоторых возникали проблемы. Во-первых, некоторые хостеры время от времени по непонятным мне причинам переводят свои часы. Во-вторых, на американских серверах переход на зимнее/летнее время идёт не тогда, когда у нас, т.е. 4 раза в год происходит сдвиг по времени между нами и США. Как решать проблему? |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
||||
|
||||
| teroni |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 8 Всего: 22 |
bars80080, спасибо, но я так понимаю, что это только ставит часовой пояс. Но если на сервере изначально неправильно идущие часы (например, отстающие на 10 минут), то я так понимаю, что пользы от правильного часового пояса маловато. И от приколов хостера с внезапным переводом часов тоже не застр###т. Хотелось бы брать данные с какого-то 100% точного сервака несколько раз в сутки и по ним уже отстраивать разницу локального времени и точного. Только осталось найти такой 100% надёжный сервер времени и написать скриптик, но я подумал, что велосипед уже наверное кто-то должен был изобрести до меня.
|
|||
|
||||
| bars80080 |
|
||||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
каждой задаче своё решение
можно записывать в конфигуратор разницу, которой и пользоваться. а затем периодически сверять текущее время сервера с эталлоным и корректировать разницу
имхо, случайных переводов не бывает. думаю, ваш виртуальный хостинг перебрасывали между разными машинами, расположенными в разных часовых поясах. а значит, та функция должна всегда корректировать в нужный пояс
не задавался таким вопросом. обычно время имеет значение только в пределах локали |
||||
|
|||||
| voff000 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 5.8.2011 Репутация: нет Всего: нет |
Существуют NTP time server'а, с которых при помощи протокола SNTP можно забрать точное время.
|
|||
|
||||
| baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
это проблема администрирования сервера вообще, а не веб-сервера+пхп.
|
||||
|
|||||
| teroni |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 15.5.2007 Где: Днепропетровск Репутация: 8 Всего: 22 |
А на php для этих целей есть что-то? Или это всё средствами ОС? Погуглю, но может Вы и так знаете ответ... |
||||
|
|||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 26 Всего: 101 |
вообще-то этим обычно занимается специальный сервис (программа) синхронизации времени. SNTP на PHP? вряд-ли, не барское это дело...
думаю, у них таки есть перед Вами некие обязательства скорее всего их часы верные (с учетом сезонных часовых переходов), т.е. на 10мин они не отличаются. значит достаточно будет правильно установить, какое сейчас время по гринвичу, см. что дал bars80080 про timezone |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Процедура установки точного времени по протоколу SNTP занимает довольно продолжительное время. так что если останавливаться на ней - стоит выполнять ее не очень часто.
Для простоты можно ограничится простым анализом заголовков ответа сервера точного времени, например http://www.pool.ntp.org. Получать страничку curl'ом или другим разрешенным провайдером способом. Date: Fri, 05 Aug 2011 14:19:23 GMT Можно использовать метод HEAD, чтобы не получать большой объем информации. Хотя наехать на админов хостинга представляется более корректным выходом. Запустить демона точного времени им ничего, кроме лени не мешает. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| voff000 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 5.8.2011 Репутация: нет Всего: нет |
||||
|
||||
| Sanchezzz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1670 Регистрация: 19.11.2006 Где: Voronezh Репутация: 41 Всего: 60 |
проoе канать админов
как вариант идеи
Можно написать крон скрипт который будет опрашивать список серверов и сравнивать со своим серверным times -------------------- Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |