БлогNot. Меняем часовой пояс на сайте без использования php.ini и переписывания кода

Меняем часовой пояс на сайте без использования php.ini и переписывания кода

Нередко мы сталкиваемся с ситуацией, когда "время на сайте", полученное со стороны сервера PHP-скриптом, оказывается "неправильным", то есть, не соответствующим нужному нам часовому поясу.

Существует несколько путей решения этой проблемы. Можно добавить в код настройку, отвечающую за "сдвиг" времени при его расчёте - но лопатить большой и давно написанный код не хотелось.

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

В таких случаях остаётся третий путь, который я сейчас успешно применил.

Создав в корневой папке сайта файл .htaccess, найдите свой часовой пояс в официальном списке и скопируйте его, например, Asia/Novosibirsk

Затем добавьте следующий код первой строчкой файла .htaccess:

SetEnv TZ Asia/Novosibirsk

Вполне возможно, что это ещё не помогло, тогда добавьте следующей строчкой

php_value date.timezone "Asia/Novosibirsk"

У меня сработало.

Нужно учесть, что у хостера обычно не последние версии PHP (и это правильно, чтобы клиентские скрипты "неожиданно" не переставали работать), поэтому сведения о местном времени для российских городов, по воле безумного правительства постоянно "мигрирующих" между часовыми поясами, могут быть устаревшими (тьфу ты, вот это фраза :)

Реально я поставил для Новосибирска значение

Asia/Krasnoyarsk

(GMT+7) в обеих директивах.

16.12.2017, 09:39 [2909 просмотров]


теги: php время сервер хостинг

К этой статье пока нет комментариев, Ваш будет первым