После переноса моего сайта MaxyStore (сборка для OpenCart) на другой хостинг начались проблемы с временем на сайте, сайт отставал на 7 часов. Даже после того как правильно выставили время на сервере
- root@vps-12862:~# date
- Thu Jan 29 10:59:11 EET 2015
В админке всеравно выбивало 3:59. В php.ini прописал date.timezone = Europe/Kiev, тоже не помогло. После поисков нашел решение, сначало в файле /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 (if any - which allows for Daylight Saving Time or British Summer Time (BST))
- $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->connection);
Мне помогло надеюсь и вам поможет