Я использовал PHP на многих версиях Ubuntu, и все они демонстрируют одну и ту же «особенность». Когда я выгружаю выходные данные функции phpinfo()
на веб-страницу, я вижу следующее:
Default timezone: Europe/Moscow
, когда оба файла php.ini
(/etc/php/7.?/apache2/php.ini
и /etc/php/7.?/cli/php.ini
) имеют date.timezone
установка закомментирована, как это имеет место по умолчанию.
Часовой пояс моей системы всегда был правильно установлен на Europe/Istanbul
:
$ file /etc/localtime
/etc/localtime: symbolic link to /usr/share/zoneinfo/Europe/Istanbul
Однако PHP считает, что мой местный часовой поясEurope/Moscow
вместо. В настоящее время эти два часовых пояса похожи, но это было не так в прошлом и, возможно, не так в будущем.
Чтобы решить эту проблему, каждый раз при обновлении этих файлов php.ini
(например,, после обновления или обновления системы) Я должен вручную отредактировать их и установить:
date.timezone = Europe/Istanbul
В чем причина этого странного поведения и что я могу сделать, чтобы решить эту проблему?
В настоящее время я нахожусь на Ubuntu 19.10 с PHP 7.3, но проблема существует и в предыдущих версиях ОС и PHP.