@dimas09

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

После перевода времени в России, на сервере где везде были таймзоны Europe/Moscow время не перевелось. Но после установки tzdate системное время починилось, пишу в консоле date отдает правильное время. Пишу в php -r "echo date('Y-m-d H:i:s');" получаю на час больше.
Переустанавливаю php не помогает.
Что посоветуете сделать.
  • Вопрос задан
  • 3773 просмотра
Пригласить эксперта
Ответы на вопрос 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

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

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

Войти через центр авторизации
Похожие вопросы