Всем привет.
Есть проблема с php5. Не могу понять откуда он берёт timezone. В системе время правильное, в web-морде приложения по старому - на час назад. В php не рублю; вот что есть из данных:
~# cat test.php
<?php
echo "date - ".date("H:i");
echo "\n";
echo "UTC date - ".gmdate("H:i");
echo "\n";
$a = localtime();
echo "localtime - ".$a[2].":".$a[1];
echo "\n";
echo "Set timezone to Europe/Moscow\n";
date_default_timezone_set("Europe/Moscow");
echo "date - ".date("H:i");
echo "\n";
echo "UTC date - ".gmdate("H:i");
echo "\n";
$a = localtime();
echo "localtime - ".$a[2].":".$a[1];
echo "\n";
echo date_default_timezone_get();
?>
~# php -f test.php
date - 11:03
UTC date - 08:03
localtime - 11:3
Set timezone to Europe/Moscow
date - 11:03
UTC date - 08:03
localtime - 11:3
~# cat t.c
#include <stdio.h>
#include <time.h>
struct tm *t;
time_t tt;
int main(void)
{
tt = time(NULL);
t = localtime(&tt);
printf("%d:%d\n", t->tm_hour, t->tm_min);
return 0;
}
~# ./a.out
12:3
~# date -R
Fri, 18 Nov 2011 12:03:41 +0400
~# grep timezone /etc/php.ini
; Defines the default timezone used by the date functions
date.timezone = "Europe/Moscow"
Что за издевательство?
UPD. Debian 5