Перейти до вмісту

Оновлення з XOOPS 2.5 до 2.7

:::обережно[спочатку створіть резервну копію] Завжди створюйте резервні копії бази даних і файлів перед оновленням. Без винятків. :::

  • Потрібен PHP 8.2+ — PHP 7.x більше не підтримується
  • Composer-managed dependencies — основні бібліотеки, керовані через composer.json
  • Автозавантаження PSR-4 — класи модулів можуть використовувати простори імен
  • Improved XoopsObject — новий тип безпеки getVar(), застарілий obj2Array()
  • Bootstrap 5 admin — панель адміністратора перебудована за допомогою Bootstrap 5

Контрольний список перед оновленням

Section titled “Контрольний список перед оновленням”
  • PHP 8.2+ доступний на вашому сервері
  • Повна резервна копія бази даних (mysqldump -u user -p xoops_db > backup.sql)
  • Повна резервна копія файлів вашої установки
  • Список встановлених модулів та їх версії
  • Спеціальна тема резервується окремо

1. Перевести сайт в режим обслуговування

Section titled “1. Перевести сайт в режим обслуговування”
// mainfile.php — add temporarily
define('XOOPS_MAINTENANCE', true);
Terminal window
wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zip
unzip xoops-2.7.x.zip

3. Замініть основні файли

Section titled “3. Замініть основні файли”

Завантажте нові файли, за винятком:

  • uploads/ — ваші завантажені файли
  • xoops_data/ — ваша конфігурація
  • modules/ — встановлені модулі
  • themes/ — ваші теми
  • mainfile.php — конфігурація вашого сайту
Terminal window
rsync -av --exclude='uploads/' --exclude='xoops_data/' \
--exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \
xoops-2.7/ /var/www/html/

4. Запустіть сценарій оновлення

Section titled “4. Запустіть сценарій оновлення”

Перейдіть до https://yourdomain.com/upgrade/ у своєму браузері. Майстер оновлення застосує міграцію бази даних.

Модулі XOOPS 2.7 мають бути сумісні з PHP 8.2. Перевірте Module Ecosystem на наявність оновлених версій.

В «Адміністратор» → «Модулі» натисніть Оновити для кожного встановленого модуля.

6. Видаліть режим обслуговування та перевірте

Section titled “6. Видаліть режим обслуговування та перевірте”

Видаліть рядок XOOPS_MAINTENANCE із mainfile.php і переконайтеся, що всі сторінки завантажуються правильно.

Помилки “Клас не знайдено” після оновлення

  • Запустіть composer dump-autoload у корені XOOPS
  • Очистіть каталог xoops_data/caches/

Модуль зламався після оновлення

  • Перевірте випуски модуля GitHub для версії 2.7-сумісної
  • Модуль може потребувати змін коду для PHP 8.2 (застарілі функції, типізовані властивості)

Панель адміністратора CSS зламана

  • Очистіть кеш браузера
  • Переконайтеся, що xoops_lib/ було повністю замінено під час завантаження файлу