Error! date(): It is not safe to rely on the system's timezone settings...

Roman777

Новичок
Error! date(): It is not safe to rely on the system's timezone settings...

Не сталкивался ли кто с такой проблемой:

date(): It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Moscow' for 'MSD/4.0/DST' instead /home/............[18]


Не подскажите ли что с этим поделать?
 

tony2001

TeaM PHPClub
вспоминается стааарый анекдот.
звонит пользователь в саппорт.
П: у меня компьютер не работает! говорит "нажмите любую клавишу для продолжения".
С: а вы нажимали?
П: нет, знаете как-то не догадался..

в самом варнинге прямо сказано что надо делать.
 

Roman777

Новичок
То есть я должен в php-скрипте написать, что-то типа

date_default_timezone_set("Etc/GMT-4");

И все заработает..?
 

tony2001

TeaM PHPClub
я не знаю что должно означать "Etc/GMT-4", но сообщение ясно говорит какая именно таймзона была выбрана и как её указать.
более того, там даже перечислено три варианта возможных решений.
 

Roman777

Новичок
tony2001, Вы сталкивались с такой ошибкой? Если да то как решили? Какой вариант выбрали?
 

tony2001

TeaM PHPClub
нажал на любую кнопку.

что конкретно непонятно?
как добавить date.timezone="Europe/Moscow" в php.ini ?
открываете свой любимый нотепад, добавляете в конец и Ctrl-S.
 

Roman777

Новичок
на счет php.ini все ясно. У меня нет возможности изменять конфиги, есть ли возможность вызова какой-то функции из php-скрипта, чтобы установить необходимую timezone?
 

Gorynych

Посетитель PHP-Клуба
есои так уж невозможно указать настройки в php.ini, то
1) добавьте
PHP:
if ( function_exists("date_default_timezone_set") ) {
	date_default_timezone_set(@date_default_timezone_get());
}
2) исключите вывод STRICT-предупреждений, например так:
PHP:
/*
All errors and warnings, as supported, except of level E_STRICT in PHP < 6.
*/
error_reporting(E_ALL);
 

tony2001

TeaM PHPClub
смысл предупреждений не в том, что их надо отключать.
дело в том, что автоопределение _может_ ошибаться, соотв-но надо не делать грязные хаки типа date_default_timezone_set(@date_default_timezone_get());, а выставить нормальную таймзону, в данном случае - Europe/Moscow.
 
Сверху