Есть система Centos6.3. Apache 2.2.15 + mod_fcgid + PHP 5.3.3
Проблема с date.timezone
стоимость. Он упоминается в глобальном /etc/php.ini
как это:
date.timezone = "Europe/Moscow"
И не упоминается в локальном php.ini пользователя. В результате я получаю множество предупреждений, например:
Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting 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/Helsinki' for 'EEST/3.0/DST' instead in ...
В том числе date.timezone
параметр в пользовательский php.ini решает проблему, но я не думаю, что это лучшее решение.
Может кто сталкивался с этой проблемой и может дать совет?
Спасибо!
P.S. Создание /etc/php.d/timezone.ini
с информацией о часовом поясе также ничего не делает :(
Вам нужно будет добавить date.timezone
запись для каждого пользователя ini
файл. После некоторых экспериментов выяснилось, что часовой пояс даты по умолчанию будет иметь глобальное значение, но по-прежнему E_NOTICE и / или E_STRICT или E_WARNING.
Тестирование глобальной настройки
bash~> php -r 'print ini_get("date.timezone").PHP_EOL;'
Europe/Moscow
bash~> php -r 'print date_default_timezone_get().PHP_EOL;'
Europe/Moscow
Тестирование user.ini без date.timezone
устанавливать
bash~> php -c /path/to/user.ini -r 'print ini_get("date.timezone").PHP_EOL;'
""
bash~> php -c /path/to/user.ini -r 'print date_default_timezone_get().PHP_EOL;'
Warning: ... We selected 'Europe/Moscow' for 'EEST/4.0/DST' instead in Command line code on line 1
Europe/Moscow
Единственная альтернатива - требовать от каждого приложения программной установки часового пояса по умолчанию, но это нереально и требует гораздо больших усилий.
if(!ini_get('date.timezone')) {
date_default_timezone_set('Europe/Moscow');
}