Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Точное время, Нужно чтобы на сервере было точное время 
:(
    Опции темы
teroni
Дата 5.8.2011, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Для одного моего сайта принципиально важно, чтобы там всегда было точное время.
Но ведь в php функция времени даёт данные с того сервера, где находится скрипт.
У меня этот сайт был на нескольких виртуальных хостингах и на некоторых возникали проблемы. Во-первых, некоторые хостеры время от времени по непонятным мне причинам переводят свои часы. Во-вторых, на американских серверах переход на зимнее/летнее время идёт не тогда, когда у нас, т.е. 4 раза в год происходит сдвиг по времени между нами и США.

Как решать проблему?
PM MAIL   Вверх
bars80080
Дата 5.8.2011, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



PM MAIL WWW   Вверх
teroni
Дата 5.8.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



bars80080, спасибо, но я так понимаю, что это только ставит часовой пояс. Но если на сервере изначально неправильно идущие часы (например, отстающие на 10 минут), то я так понимаю, что пользы от правильного часового пояса маловато. И от приколов хостера с внезапным переводом часов тоже не застр###т. Хотелось бы брать данные с какого-то 100% точного сервака несколько раз в сутки и по ним уже отстраивать разницу локального времени и точного. Только осталось найти такой 100% надёжный сервер времени и написать скриптик, но я подумал, что велосипед уже наверное кто-то должен был изобрести до меня.
PM MAIL   Вверх
bars80080
Дата 5.8.2011, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



каждой задаче своё решение


Цитата(teroni @  5.8.2011,  14:29 Найти цитируемый пост)
например, отстающие на 10 минут

можно записывать в конфигуратор разницу, которой и пользоваться. а затем периодически сверять текущее время сервера с эталлоным и корректировать разницу


Цитата(teroni @  5.8.2011,  14:29 Найти цитируемый пост)
И от приколов хостера с внезапным переводом часов тоже не застр###т

имхо, случайных переводов не бывает. думаю, ваш виртуальный хостинг перебрасывали между разными машинами, расположенными в разных часовых поясах. а значит, та функция должна всегда корректировать в нужный пояс


Цитата(teroni @  5.8.2011,  14:29 Найти цитируемый пост)
Хотелось бы брать данные с какого-то 100% точного сервака несколько раз в сутки и по ним уже отстраивать разницу локального времени и точного.

не задавался таким вопросом. обычно время имеет значение только в пределах локали
PM MAIL WWW   Вверх
voff000
Дата 5.8.2011, 15:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.8.2011

Репутация: нет
Всего: нет



Существуют NTP time server'а, с которых при помощи протокола SNTP можно забрать точное время.
PM MAIL   Вверх
baldina
Дата 5.8.2011, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(teroni @  5.8.2011,  12:51 Найти цитируемый пост)
Для одного моего сайта принципиально важно, чтобы там всегда было точное время.

это проблема администрирования сервера вообще, а не веб-сервера+пхп.
Цитата(voff000 @  5.8.2011,  15:39 Найти цитируемый пост)
Существуют NTP time server'а, с которых при помощи протокола SNTP можно забрать точное время. 
обратитесь к сервис-провайдеру или системному администратору, это их задача
PM MAIL   Вверх
teroni
Дата 5.8.2011, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 15.5.2007
Где: Днепропетровск

Репутация: 8
Всего: 22



Цитата(baldina @  5.8.2011,  16:21 Найти цитируемый пост)
это проблема администрирования сервера вообще, а не веб-сервера+пхп
Я согласен, но это ж простой виртуальный хостинг, мне не ведомо, кто его админит и что он будет делать завтра. Вот позавчера ни с того, ни с сего время на час вперёд сдвинули, и это уже 3 раз за год, не учитывая 2 переходов на летнее время. Хотелось бы минимально зависеть от хостера в этом плане.

Цитата(voff000 @  5.8.2011,  15:39 Найти цитируемый пост)
Существуют NTP time server'а, с которых при помощи протокола SNTP можно забрать точное время.

А на php для этих целей есть что-то? Или это всё средствами ОС?
Погуглю, но может Вы и так знаете ответ...
PM MAIL   Вверх
baldina
Дата 5.8.2011, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(teroni @  5.8.2011,  16:59 Найти цитируемый пост)
А на php для этих целей есть что-то? Или это всё средствами ОС?

вообще-то этим обычно занимается специальный сервис (программа) синхронизации времени.
SNTP на PHP? вряд-ли, не барское это дело...

Цитата(teroni @  5.8.2011,  16:59 Найти цитируемый пост)
простой виртуальный хостинг, мне не ведомо, кто его админит и что он будет делать завтра

думаю, у них таки есть перед Вами некие обязательства
скорее всего их часы верные (с учетом сезонных часовых переходов), т.е. на 10мин они не отличаются.
значит достаточно будет правильно установить, какое сейчас время по гринвичу, см. что дал bars80080 про timezone
PM MAIL   Вверх
ksnk
Дата 5.8.2011, 17:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Процедура установки точного времени по протоколу SNTP занимает довольно продолжительное время. так что если останавливаться на ней - стоит выполнять ее не очень часто.

Для простоты можно ограничится простым анализом заголовков ответа сервера точного времени, например 
http://www.pool.ntp.org. Получать страничку curl'ом или другим разрешенным провайдером способом.

Date: Fri, 05 Aug 2011 14:19:23 GMT

Можно использовать метод HEAD, чтобы не получать большой объем информации.

Хотя наехать на админов хостинга представляется более корректным выходом. Запустить демона точного времени им ничего, кроме лени не мешает.




--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
voff000
Дата 6.8.2011, 07:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.8.2011

Репутация: нет
Всего: нет



http://www.kloth.net/software/timesrv1.php
Тут примеры для php
PM MAIL   Вверх
Sanchezzz
Дата 6.8.2011, 09:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



проoе канать админов


как вариант идеи
Код


// сервер 1  - показывает точное время
$time1 = time();
print date('d m y H:i:s' , $time1);

//сервер 2 - показывает не совсем корректное время (отстает на 2 минуты)
$time2 = time() + 120;
print date('d m y H:i:s' , $time2);


Можно написать крон скрипт который будет опрашивать список серверов и сравнивать со своим серверным times




--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0769 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.