Jump to content
Sign in to follow this  
military21

[Решено] Сдвинутое время - вопросы новичка

Recommended Posts

Здравствуйте. На сайте сдвинуто время. Погуглив в phpmyadmin сделал запрос SHOWVARIABLESLIKE'%time_zone%'

результат

system_time_zone GMT

time_zone SYSTEM

Выходит время у меня сдвинуто из-за временной зоны сервера mysql? или сдвиг может задаваться и в другом месте?

И как сменить зону?

Share this post


Link to post
Share on other sites

Может дело в хостинге/VPS

Share this post


Link to post
Share on other sites

вообще-то сервер и, собсно, mysql как раз желательно иметь в GMT.

а вот в PHP уже конвертить GMT в нужный часовой пояс.

date_default_timezone_set

Share this post


Link to post
Share on other sites

погуглил в направлении php - нашел вариант - прописать в php.ini date.timezone = Europe/Moscow .

прописал - ничего не изменилось

Share this post


Link to post
Share on other sites

хорошо, подойдем к вопросу с другой стороны.

в чем вообще проблема?

чего вам надо от "timezone" и где именно?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

в htaccess

SetEnv TZ Europe/Moscow

или

php_value date.timezone "Europe/Moscow"

Share this post


Link to post
Share on other sites

после добавления одой из этих строк время сразу должно поменяться?

Попробовал оба варианта. После заливки сразу переходил на страницу магазина и смотрел в отчетах пльзователи онлайн. Время все так же сдвинуто + заметил что сдвиг не ровно по часам - то есть зашел на страницу в 13-20 по мск а отображается в отчете 10-32 (ну это наверно часы на сервере неправильно идут).

Share this post


Link to post
Share on other sites

после добавления одой из этих строк время сразу должно поменяться?

Попробовал оба варианта. После заливки сразу переходил на страницу магазина и смотрел в отчетах пльзователи онлайн. Время все так же сдвинуто + заметил что сдвиг не ровно по часам - то есть зашел на страницу в 13-20 по мск а отображается в отчете 10-32 (ну это наверно часы на сервере неправильно идут).

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

А если серьезно, то действительно задайте вопрос хостеру почему у вас на сайте/сервере отдается некорректное время, это судя по всему проблема на их стороне, а не у вас, пусть они и решают. Если и у вас то смотрите модули которые используют определение времени и добавляйте туда +3 часа. Просто разговор ни о чем получается, т.к. неизвестно что у вас за сервер, какие на нем настройки и тп.

Share this post


Link to post
Share on other sites

написал вопрос с сылкой на данную тему форума

ответ пришел такой

Это решается кодом. Поддержку по коду мы не оказываем.

Share this post


Link to post
Share on other sites

написал вопрос с сылкой на данную тему форума

ответ пришел такой

Это решается кодом. Поддержку по коду мы не оказываем.

Стандартная отмаза хостеров. Если уж на то пошло, то найдите места в ваших скриптах где определяется текущее время и руками добавляйте к нему определеноое значение. Поиск можно сделать сразу по всем файлам через notepad++, ищите все функции php, связанные со временем.

А вообще знаете что сделайте - создайте просто файл time.php, в нем сделайте просто вывод текущей даты и разместите этот файл в корень вашего сайта, и запустите http://ваш_сайт/time.php и вот если выдастся неверное время, значит пусть хостер не мажется, аналогично сделайте запрос к базе со значением NOW().

  • +1 1

Share this post


Link to post
Share on other sites

сделал все по 2 абзацу

реальное мск время 11-06

по http://ваш_сайт/time.php 8-18

по запросу к базе со значением NOW() 8-18

дальше что делать с этим?

Для наглядности скопирну сюда еще текст с 1 поста

Погуглив в phpmyadmin сделал запрос SHOWVARIABLESLIKE'%time_zone%'

результат

system_time_zone GMT

time_zone SYSTEM

Share this post


Link to post
Share on other sites

Значит это косяк хостинга, а не твой. Просто пришли им ссылку на скрипт time.php, напиши что там всего один оператор date() или time(), что ты там использовал, пусть разбираются. Потому что это их обязанность, ты за это деньги платишь и это не твой головняк. А с хостингами только так и нужно, т.к. иной раз им нужно полдня только обьснять проблему чтобы до них дошло, набирают в техподдержку студентов-первокурсников. У меня вот так на одном довольно популярном хостинг провайдере, сайты без трафика ложились по кд, начали разбиратся, на что как обычно нелепые отмазы типа у вас скрипты тяжелые, на что я им траффика нет, какие скрипты, после чего они мне начали снова оптимизируйте скрипты, я залил на хостинг простой сайт без базы, тупо html файлы - не грузиться, лагает все, пишу ну и что за херня, они немного зашевелились, но один хер отмазки постоянные, в итоге они заявили мне что каждый сайт создает httpd процесс на сервере, которые жрут много оперативной памяти, это был просто финиш! Я написал им о их профпригодности (причем из саппорта со мной общалось 3 сотрудника), и успешно переехал на хороший хостинг, который меня устраивает во всех отношениях и сайты работают как часы. Я перевел туда 20 сайтов и все ок работает.

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

Share this post


Link to post
Share on other sites

дело в PHP и скриптах.

хостер тут краем бока разве что при запрете изменения @date_default_timezone_set@.

...заметил что сдвиг не ровно по часам...

"сдвиг минут" - проблемы вашего локального девайса (точнее системы), а не хостера.

синхронизируйте локальное время с каким-нибудь ntp-сервером и будет у вас разница только в часах.

Share this post


Link to post
Share on other sites

Если вы про локальную систему(окна 7) находясь в которой я открываю свой сайт то время у меня на ней синхронизированное с московским.

Share this post


Link to post
Share on other sites

Проблема решаема, оставлю это здесь, может кому-то поможет.

 

У меня часовой пояс Екатеринбург, соответственно для других ЧП вносите изменения.

 

  • В файл .htacces вставляем
   SetEnv TZ Asia/Yekaterinburg
  • в файле /system/startup.php

— заменяем 

if (!ini_get('date.timezone')) {
     date_default_timezone_set('UTC');
}

— на

date_default_timezone_set('Asia/Yekaterinburg');
  • в файле system/database/mysql.php

— после 

mysql_query("SET SQL_MODE = ''", $this->link);

— вставляем

// get local time on Web/PHP server
$localtime = strtotime(date('Y-m-d H:i:s'));

//get local time in GMT/UTC (i.e GMT/UTC is set as +0:00 on database and other timezones are set as +/- hours of this)
$gm_localtime = strtotime(gmdate('Y-m-d H:i:s'));

//find offset in hours 
$diff_hours = ($localtime - $gm_localtime) / 3600;

//Then the Database server needs to be set to this Offset to store/retrieve values as local ones
$adjust = "SET time_zone = '";

if ($diff_hours > 0) {
   $adjust .= "+" . ceil($diff_hours);
} elseif ($diff_hours < 0) {
   $adjust .= floor($diff_hours);
} else {
   $adjust .= "+0";
}   
$adjust .= ":00'";

mysql_query($adjust, $this->link);

Решение было найдено здесь

Share this post


Link to post
Share on other sites

Сделал изменения в  в файле /system/startup.php- не помогло.Пишу в саппорт хостера https://hostiq.ua/clients/aff.php?aff=2001 ,через три минуты ответ,"Вам необходимо в Вашей сPanel перейти в "Выбор версии PHP", там нажать на Switch To PHP Options и для показателя "date.timezone" установить -Europe/Kiev"(в моём случае)
И всё заработало!

Share this post


Link to post
Share on other sites

Добавил в htaccess и все наладилось

php_value date.timezone "Europe/Kiev"
Edited by zasluga

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.