@dimas09

Почему PHP отдает дату, которая не совпадает с системной?

После перевода времени в России, на сервере где везде были таймзоны Europe/Moscow время не перевелось. Но после установки tzdate системное время починилось, пишу в консоле date отдает правильное время. Пишу в php -r "echo date('Y-m-d H:i:s');" получаю на час больше.
Переустанавливаю php не помогает.
Что посоветуете сделать.
  • Вопрос задан
  • 3775 просмотров
Пригласить эксперта
Ответы на вопрос 4
t-alexashka
@t-alexashka
Сразу пишу legacy код
через консоль работает другой php.ini (/etc/php5/cli/) там поставьте зону по дефолту Europe/Moscow
Ответ написан
akarin
@akarin
Ответ написан
Комментировать
@neolink
Версия php, какая система?
что выводит:
<?php

echo "Default TZ: ", date_default_timezone_get();

$r = new \ReflectionExtension('date');
echo $r->info();
Ответ написан
glebovgin
@glebovgin
Full Stack Web Developer
Сам только что боролся с этой проблемой (Debian 6, php 5.3.29). Вот мое решение (под root'ом):
apt-get install php-pear php5-dev build-essential
pecl install timezonedb
echo "extension=timezonedb.so" > /etc/php5/conf.d/timezonedb.ini

После этого надо рестартнуть апач
/etc/init.d/apache2 restart

Очень надеюсь, что поможет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
04 мая 2024, в 06:10
4000 руб./за проект
04 мая 2024, в 05:49
10000 руб./за проект
04 мая 2024, в 03:57
10000 руб./за проект