Не-не, тут речь не о производительности, а о самых обыкновенных часах =)
Как-то раз увидел в PHP что-то вроде
Кажется, на говнокоде дело было…
Посмеялся и забыл. Потом перелез с винды на убунту и вот вчера произошло нечто интересное =) MySQL и PHP в XAMPP (LAMPP) вернули разное текущее время!
т.к. под виндой подобная проблема не наблюдалась, покопался в инете и узнал, что Линух и Винда по разному трактуют системное время. Винда выставляет системное время в соответствии с местным (причем делает она это постоянно при каждой загрузке и синхронизации), а Линукс считает системное время UTC и местное отсчитывает исходя из установленного часового пояса.
1. Установить время на текущее.
2. Сделать системное время локальным:
3. Синхронизировать локальное и системное время:
4. Перезагрузить компьютер при необходимости. Ну в моем случае, нужно было просто перезагрузить XAMPP/LAMPP
Предположительно (т.к. меня удовлетворило первое решение) здесь:
dev.mysql.com/doc/refman/5.1/en/time-zone-support.html
Но поскольку там есть летнее время, то данное решение работает лишь 6 месяцев в году. А вот у алжирских сисадминов такая проблема никогда, наверное, не возникала =)
Как-то раз увидел в PHP что-то вроде
$date = mysql_result(mysql_query("SELECT CURRENT_TIMESTAMP"), 0, 0);
Кажется, на говнокоде дело было…
Посмеялся и забыл. Потом перелез с винды на убунту и вот вчера произошло нечто интересное =) 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
т.к. под виндой подобная проблема не наблюдалась, покопался в инете и узнал, что Линух и Винда по разному трактуют системное время. Винда выставляет системное время в соответствии с местным (причем делает она это постоянно при каждой загрузке и синхронизации), а Линукс считает системное время UTC и местное отсчитывает исходя из установленного часового пояса.
Выход 1. Подогнать системное время линукса под локальное
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 месяцев в году. А вот у алжирских сисадминов такая проблема никогда, наверное, не возникала =)