Як виправити Fatal error: Uncaught DateInvalidTimeZoneException у WordPress на Debian 13

Як виправити Fatal error: Uncaught DateInvalidTimeZoneException у WordPress на Debian 13

Після переїзду на новий сервер з Debian 13 (Trixie) або оновлення PHP до версій 8.2+, багато власників WordPress-сайтів стикаються з критичною помилкою, яка повністю блокує доступ до ресурсу. Логи сервера при цьому показують наступне:

PHP Fatal error: Uncaught DateInvalidTimeZoneException: DateTimeZone::__construct(): Unknown or bad timezone (Europe/Kiev)

Чому це відбувається?

Проблема полягає в оновленні міжнародних стандартів та системних бібліотек tzdata. У сучасних дистрибутивах Linux застарілу транслітерацію Europe/Kiev було остаточно замінено на Europe/Kyiv. Оскільки WordPress або окремі плагіни (наприклад, Perfmatters) можуть зберігати стару назву в налаштуваннях, PHP не знаходить її в системі й перериває роботу скрипта.

Рішення 1: “Заплатка” у wp-config.php (найшвидший спосіб)

Якщо сайт “лежить” і ви не можете зайти в адмінку, додайте цей код у файл wp-config.php одразу після відкриваючого тегу <?php. Це змусить систему використовувати коректну назву до того, як виникне помилка:


// Виправлення конфлікту часових поясів для сучасних систем (Debian 13/Ubuntu 24.04)
if (date_default_timezone_get() === 'Europe/Kiev') {
    date_default_timezone_set('Europe/Kyiv');
}

Рішення 2: Оновлення бази даних через SQL

Щоб виправити проблему фундаментально, необхідно оновити значення безпосередньо в таблиці налаштувань. Виконайте цей запит через phpMyAdmin або консоль Virtualmin/Webmin:

UPDATE wp_options SET option_value = 'Europe/Kyiv' WHERE option_name = 'timezone_string';

Рішення 3: Налаштування сервера

Переконайтеся, що ваш сервер також використовує актуальну зону. У терміналі виконайте:

sudo timedatectl set-timezone Europe/Kyiv

Після цього обов’язково перезапустіть службу PHP-FPM, щоб оновити кеш конфігурації:

systemctl restart php8.4-fpm
Порада: Якщо ви використовуєте плагіни оптимізації, такі як Perfmatters, після внесення змін обов’язково очистіть їхній внутрішній кеш, оскільки вони часто зберігають шляхи та часові мітки, що базуються на налаштуваннях часового поясу.

Прокоментувати

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *