php 4.4.4 временная зона

Zlo_606ep
На сайте с 14.12.2006
Offline
129
1121

Вопрос такой: как в установить переменные окружения "временная зона" (php.ini не подходит) на этапе выполнения скрипта.

Вроде в php 5 есть, а как в 4 сделать так, чтобы при вызове стандартных функций типа date, time получать время определённой временной зоны?

p.s. если можно, то будет ли это изменение действовать в запросах mysql - now()?

HC
На сайте с 24.05.2006
Offline
46
#1
Система управления сайтом HostCMS (http://www.HostCMS.ru) - многосайтовость, множество модулей, обмен с 1С, бесплатная версия. Скидка 40% на систему управления для дилеров (http://www.hostcms.ru/partners/partnership/) и 20% для партнеров-фрилансеров (http://www.hostcms.ru/partners/freelance/).
Zlo_606ep
На сайте с 14.12.2006
Offline
129
#2

её и имел в виду, только как реализовать в php 4?

Zlo_606ep
На сайте с 14.12.2006
Offline
129
#3

думал, может через putenv http://ru2.php.net/manual/ru/function.putenv.php, но похоже с этим проблемы:

trying to change timezones using putenv:

In my case (php 4.2.2) (redhat 2.4.21-1.1931.2.274) TZ does not show up in either the PHP or Linux environment. I'm not sure what the format for TZ is. I tried TZ=EST5EDT. It seemed to work. When I started a session with another browser, it worked there too. Even though I didn't change the environment there.... Hmmm.

When I ran the test without the putenv... the date() function would sometimes show CST (my zone), sometimes EST. Every time I reloaded the page, the time would change zones. All times from a database - not time() time.

Restoring my TZ=CST didn't help. The times would still switch back and forth.

I finally restarted Apache. That worked. The times are now stable.

I think the only solution is subtracting (or adding) the appropriate time difference from the time stamp.,

что делать? кто-нибудь может что-нибудь сказать?

DENIEL
На сайте с 15.11.2005
Offline
73
#4

У Вас веб-сервер на чем стоит, на Linux или Windows?

Я так понял, коммент который Вы вставили, это с php.net взят...

Если Linux, то putenv Вам подойдет. На Windows у меня не работает.

Пример работы скрипта:


<?
print("server timezone is: " . getenv('TZ') . "<br>\n");
print("server time is: " . date("H:i:s") . "<br><br>\n");
putenv("TZ=Europe/Kiev");
print("new server time is: " . date("H:i:s") . "<br>\n");
print("new server timezone for this script is: " . getenv('TZ'));
?>
Прежде чем что-то сказать думайте, если не хотите думать - лучше не говорите.
Zlo_606ep
На сайте с 14.12.2006
Offline
129
#5

у хостера safemode, ищу пути решения...

DENIEL
На сайте с 15.11.2005
Offline
73
#6
Zlo_606ep:
у хостера safemode, ищу пути решения...

У хостера попробуйте узнать, возможно они встречались с данным вопросом.

Mihajlo
На сайте с 30.10.2006
Offline
135
#7

напишите собственные функции и используйте взамен стандарных

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий