LINUX.ORG.RU
ФорумAdmin

Сбой времени


0

1

Здравствуйте!

Один человек утверждает о сбое времени на его сайта. Система CentOS 5.7, Php 5.2.17.

Каждый раз обновлять его сайт и смотреть на врем постов мне стало скудно, поэтому написал срипт для сверки времени в PHP, с временем на сервере:

#!/bin/sh
echo `date +"%Y-%m-%d %T"`
echo `php -r  'print_r(date("Y-m-d H:t:s"));' | grep "201" `

На Выходе выходит

2012-01-04 11:30:29
Zend Guard Loader requires Zend Engine API version 220090626.
The Zend Engine API version 220060519 which is installed, is outdated.

2012-01-04 11:31:29
(минута разницы)

Теперь вопрос - возможно ли при данном отклонении времени могут происходить на сайте временные скачки в [+/-] 7-12 часов? Вполне ли нормальная ситуация в разсходстве времени PHP и date?

PS: кто подскажет убрать мусор вроде «Zend Guard Loader requires Zend Engine API version 220090626. The Zend Engine API version 220060519 which is installed, is outdated.»

...date("Y-m-d H:t:s")...

t - Количество дней в указанном месяце от 28 до 31 А что, если так:

date("Y-m-d H:i:s")

fjoe
()
Ответ на: комментарий от Journalist

PHP берёт системное время. Ну на крайняк с нужной поправкой по часовому поясу, так что там расхождений быть не может.

blind_oracle ★★★★★
()

Хм, и все-таки не решено пока что.

Жалуется все-таки человек на временные скачки в PHP. При это время системы не менялось (тот скрипт сравнивал по крону, если есть различие во времени - мылим... мыла были, разница 1сек. Но немного.).

Что может быть? ntpd запущен. работает мило. tzdata свежая)

Journalist
() автор топика
Ответ на: комментарий от Journalist

Если в системе устойчиво работает ntpd, значит системное время в пордке. Если бы системное время скакало на несколько часов, ntpd завершился бы с сообщеним об ошибке.

Сайт на php самописный? Напишите скрпит, который постоянно загружает и парсит страничку, если руками проблема трудно отлавливается.

mky ★★★★★
()
Ответ на: комментарий от Journalist

Не могу сказать за 5.2, но php 5.3.3 из комплекта redhat6.x ругается, если ему не выставить date.timezone в /etc/php.ini :

....
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

[Date]
; Defines the default timezone used by the date functions
date.timezone = America/New_York
....
Ну и перезапустить httpd / fastcgi / и т.д.

fjoe
()
Ответ на: комментарий от fjoe

в 5.2 не ругается, но таймозна у меня прописана.

Journalist
() автор топика
Ответ на: комментарий от AlexCones

5.2 не такой уже и старый, а программисты не спешат менять eregi() На preg_match(), но дело ведь не в версии пхп)

PS: у некоторых еще апач 1 стоит, и ничего...

Journalist
() автор топика
Ответ на: комментарий от Journalist

Никто и не говорил про «старый». И, в идеале, нужно собирать свой пакет, а потом его ставить. Можно взять из сторонних репов свежую проверенную версию и пересобрать. Или не пересобирать - поставить чужой бинарик с руткитом. Но не суть. Если расхождение времени на сайте и в системе постоянное на несколько часов - проблемы с timezone. Если периодически - проблемы с php приложением. Кстати, php.ini могут быть разные по-умолчанию для модуля и для консольного интерпретатора. Посмотреть это можно вроде бы в phpinfo().

P.S. а не может быть такого, что время выводится через javascript и наблюдающему скачки просто пришло время переустановить шindoшs ?

fjoe
()
Ответ на: комментарий от fjoe

нет, php.ini одно. Команда php -i и функция phpinfo() видят один и тот же ини, дальше:

locate php.ini
/usr/local/lib/php.ini

Что касается расхождения времени на сервере - это секунда между выводом с баша и выводом с php. Проверялось по крону скриптом из первого поста.

Нет, время показывается в постах DLE при помощи php, js исключен.

Journalist
() автор топика
Ответ на: комментарий от Journalist

Если в момент запуска крона сервер нагружен неплохо, вполне может получиться разница в несколько секунд между запуском команд. По-моему одна секунда не критично для форума/cms ?

fjoe
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.