Меняем часовой пояс на сайте без использования 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 [3067 просмотров]