глюк бесплатного хостинга?

Linker

Guest
глюк бесплатного хостинга?

Попросили разобраться со скриптом на бесплатном хостинге, говорят на локале всё работает как надо.
Я всё никак не мог понять в чём дело, а потом написал простенький скрипт на скорую руку, когда увидел результат - глазам не поверил:

у них time() - возвращает иногда какие-то "левые" значения!

Попробуйте несколько раз нажать "обновить" - рано или поздно вылезет значение time() меньше предыдущего!

Может это всё-таки я чего-то не понимаю? Кто что думает?

ссылка на пример
 

McLay

PHP5 BetaTeam
Сдается мне php тут не причем. Не пробовали в суппорт написать? =)
 

Alexander_S

Guest
Если дело в хостере, то мне в голову приходит только одна мысль: может у них имеется несколько серверов, и на каждом из них по-разному уст. время? Хотя наверное, так быть не может.
 

iliah

Новичок
у них time() - возвращает иногда какие-то "левые" значения!
time(), а точнее значение выданное этой ф-ей как и все прочее имеет свойство кэшироваться сервером по понятным причинам, в связи с чем у меня например разница между временем начала выполнения скрипта и его окончанием при тестировании бывает иногда отрицательной !
но это мелочи по сравнению с тем что выдает порой запрос ... order by rand() ... порой по несколько подряд одинаковых комбинаций если слишком часто обновлять страницу
 

Linker

Guest
McLay:

Я и не ожидал от такого хостинга ничего хорошего. Первый раз такое вижу. Ладно, скажу, пусть в суппорт пишут, или лучше пусть бегут от них по-возможности.

-~{}~ 30.05.04 17:40:

iliah:

Если хостинг тот же, то это их никак не оправдывает :)

Я, если честно, первый раз такое "кеширование" вижу.

-~{}~ 30.05.04 17:43:

Alexander_S:

Мне до последнего не верилось, что так бывает. Ладно, всё с этими "холмами" ясно.
 

McLay

PHP5 BetaTeam
iliah
Это как так может закэшироваться, чтобы время отрицательное стало? Ноль еще может быть в теории...

-~{}~ 30.05.04 17:54:

Linker
У меня тоже с ними проблемы были года два назад, что-то там не работало нифига.
 

Linker

Guest
McLay:

Я так понял он разницу имеет ввиду:

$new_time = time() - $old_time;

она будет отрицательной если time() - выдаст "старое время"

Но мне кажется такого специально(кешировать time()) вряд ли кто додумается делать, хотя...
 

McLay

PHP5 BetaTeam
Я тоже разницу имел ввиду.
Кэширование ведь не из бэкапа значение берет...time() никак меньше не может стать чем $old_time, исходя хотя бы из принципа кэширования =)
 

Profic

just Profic (PHP5 BetaTeam)
Linker
А айпишник клиента всё-время один и тот же?
Если да то всё понятно:
У них стоит 2 сервака, скажем. И распределяльщик загрузки, которых дает заросы на разные машины, которые имеют например общий "винт" посредством nfs, например. Но часы на этих машиных установлены в разное время. Вот ты и получаешь такую кашу :)
 

Linker

Guest
Profic:

Похоже это всё объясняет.
У меня до сих пор мурашки по коже, как в первый раз такое увидел - думал всё, сошёл с ума. :)
 

Ferr

Guest
Пример:
___________________________________________
...................
1085941970 - типа время пошло в обратную сторону :)
(Пауза в 20 сек)
1085941972(без паузы)
1085941974(без паузы)
...................(без паузы)
1085942122(без паузы)
1085942124(без паузы)
1085942127(без паузы)
(Пауза в 20 секунд).
1085942015 - типа время пошло в обратную сторону :)
1085942150
1085942035 - типа время пошло в обратную сторону :)
____________________________________________
Видимо до тех пор, пока CONNECTION KEEP-ALIVE - время с одного сервера, а как только соединение рвётся, следующий запрос идёт на другой сервер (не обязательно).
Распределение запросов наверно зависит от нагрузки на сервер. В пределах keep-alive такого быть не может...
 

Линк

Guest
Распределение запросов наверно зависит от нагрузки на сервер.
вообще=то у "нормального" хостера, время на серверах синхронизируеться :)
 
Сверху