Нет-нет, речь здесь не о производительности, а о самых обычных часах =)
Однажды я видел в PHP что-то вроде $date = mysql_result(mysql_query("SELECT CURRENT_TIMESTAMP"), 0, 0);
Похоже, проблема была в дерьмовом коде.
Я посмеялся и забыл.
Потом я перешёл с Windows на Ubuntu и вчера произошло нечто интересное =) MySQL и PHP в XAMPP (LAMPP) вернули разное текущее время! print(date('Y-m-d H:i:s'));
// 2009-06-20 8:00:00
print("\n", mysql_result(mysql_query("SELECT CURRENT_TIMESTAMP"), 0, 0));
// 2009-06-20 15:00:00
под Windows подобной проблемы не наблюдалось, я покопался в интернете и выяснил, что Linux и Windows по-разному интерпретируют системное время.
Windows устанавливает системное время в соответствии с местным временем (и делает это постоянно при каждой загрузке и синхронизации), а Linux считает системное время UTC и местное время на основе установленного часового пояса.
Выход 1. Настройте системное время Linux на локальное.
1. Установите время на текущее.
user@server:~$ sudo date -s 12:00
2. Сделайте системное время локальным: user@server:~$ sudo /sbin/hwclock --systohc --localtime
3. Синхронизируйте местное и системное время: user@server:~$ sudo /sbin/hwclock --hctosys --localtime
4. При необходимости перезагрузите компьютер.
Ну, в моем случае мне просто нужно было перезапустить XAMPP/LAMPP. user@server:~$ sudo /opt/lampp/lampp restart
Выход 2. Настройте часовой пояс для MySQL.
Предположительно (поскольку меня устроило первое решение) здесь: dev.mysql.com/doc/refman/5.1/en/time-zone-support.htmlВыход 3. Переезд в Лондон.
Но поскольку сейчас летнее время, данное решение работает только 6 месяцев в году.
А вот у алжирских сисадминов такой проблемы, наверное, никогда не было =) Теги: #XAMPP #php #MySQL #ubuntu #gmt #UTC #time #timezone #lampp #Chulan
-
Начало Закрытого Облачного Тестирования
19 Oct, 24 -
Как Я Увеличил Продажи Модулей Cms
19 Oct, 24 -
Сегодня Picfor.me Исполняется 2 Года
19 Oct, 24