Перейти к основному содержанию

phpBB 3.3.0 — обновление до 3.3.8

phpBB 3.3 Proteus

У меня на поддержке есть несколько форумов phpBB. Пришла пора обновить форум с версии 3.3.0 на версию 3.3.8. Текущий форум работает на IIS. PHP версии 7.3.7. В phpBB 3.3.8 есть поддержка PHP 8.0. Так что вместе с форумом придётся обновить PHP. Кроме того, в новой версии форума обновим расширения.

phpbb

Подготовительные работы

PHP

Сперва установим PHP 8.0 на IIS. Установим также PHP Manager for IIS, чтобы в любой момент переключить версию PHP. Про установку PHP на IIS написал здесь:

Установка PHP 8.0 на IIS 10

Устанавливаем. Обновлять форум я буду на PHP 7, а уже после обновления переключусь на PHP 8. Обновлять саму базу форума будем через командную строку, поэтому, пока оставим приоритет для PHP 7 в серверных переменных.

Расширения

Подготовим имеющиеся расширения к переходу на новую версию. В первую очередь — обновите все свои расширения до последней версии. Ссылка "Перепроверить все версии" поможет.

phpbb

Да, обновлять нужно много чего. Глаза боятся, а руки делают.

Увлёкся и обновил свои собственные расширения, встроил в них проверку версий.

Расширение Announcement Topics для phpBB 3.3 (v1.0.4)

Расширение Yandex Metrika для phpBB 3.3 (v1.0.4)

Отключаю все расширения.

phpbb

Обновление на phpBB 3.3.8

Инструкция по установке:

https://www.phpbb.com/support/docs/en/3.3/ug/upgradeguide/minor/

Я предпочитаю выполнять полное обновление. Скачиваем дистрибутив phpBB 3.3.8:

https://www.phpbb.com/downloads/

phpbb

Распаковываем в отдельную директорию.

phpbb

В настройки конференции и меняем язык на British English.

phpbb

Персонализация → языковые пакеты.

phpbb

Удаляем все пакеты кроме British English.

phpbb

В настройках конференции устанавливаем стиль prosilver.

phpbb

Персонализация → стили.

phpbb

Деактивируем остальные стили.

phpbb

Мой стиль — prosilver Special Edition, мной специально отредактирован. Удалю его, потом новый сделаю, это уже отдельная история, которая здесь не рассматривается.

phpbb

Удаляю свой старый стиль.

phpbb

Теперь у форума один стиль — prosilver.

В распакованном нами новом дистрибутиве удаляем:

  • files
  • images
  • store
  • config.php
  • web.config

phpbb

Останавливаем сайт в IIS. Перезапускаем IIS:

iisreset

Иногда IIS зажимает некоторые файлы и их не удаётся удалить, перезапуск помогает.

phpbb

Удаляем на сайте всё кроме:

  • ext
  • files
  • images
  • store
  • config.php
  • web.config
  • и ваши собственные файлы, не относящиеся к форуму

phpbb

Копируем с заменой всё из распакованной папки дистрибутива на сайт.

phpbb

Дожидаемся окончания копирования.

Пришло время обновить базу. Запускаем командную строку от администратора. Переходим в папку сайта:

cd C:\ваш_сайт

phpbb

Выполняем:

php ./bin/phpbbcli.php db:migrate --safe-mode

Получается нечто такое:

phpbb

Видим [OK] The database update was successful.

phpbb

В IIS запускаем сайт.

Из папки сайта удаляем директорию install.

phpbb

Заходим по ссылке:

https://www.phpbb.com/languages/

phpbb

И качаем перевод форума для версии 3.3.8. Я скачиваю russian_2_1_10.zip. Распаковываем.

phpbb

Копируем содержимое в корень сайта.

phpbb

Проверяем работу сайта.

phpbb

Сайт заработал. Заходим в админку.

phpbb

Версия PHP 7.3.7, версия форума 3.3.8. Обновление прошло успешно.

phpbb

Останавливаю сайт и меняю версию PHP на 8.0. Запускаю сайт.

phpbb

Всё работает.

Приводим всё в порядок

Теперь нужно вернуть все настройки на прежние. Русскую локализацию мы уже скачали, включим. Переходим в Customize → Language packs.

phpbb

Устанавливаем русский язык — Install.

phpbb

В Board settings устанавливаем Default language — Русский.

phpbb

Снова возвращаемся в Customize → Language pack, удаляем British English.

phpbb

После удаления все пользователи начинают использовать русский язык, интерфейс админки теперь снова на русском.

phpbb

Теперь можно снова установить British English, пусть будет.

phpbb

У нас два языка, русский — основной.

phpbb

На самом деле вы устанавливайте языковые пакеты те, которые нужны именно вашему форуму.

Включаем расширения обратно.

phpbb

Снова создаю свой стиль для форума. Процесс кропотливый.

phpbb

Работа над ошибками

Без проблем, как обычно, не обошлось.

При переходе на PHP 8.0 в расширении Breadcrumb Menu появилась ошибка:

[04-Nov-2022 18:18:58 Europe/Moscow] PHP Warning: Trying to access array offset on value of type bool in [ROOT]\ext\paybas\breadcrumbmenu\event\listener.php on line 286

Лечение:

phpBB 3.3.8 — Breadcrumb Menu ошибка PHP: Trying to access array offset on value of type bool

Других критичных проблем пока не замечено.

Теги

 

Похожие материалы

phpBB 3.2.9 — обновление до 3.3.0

Обновим форум с версии 3.2.9 на версию 3.3.0. Текущий форум работает на IIS. PHP версии 5.6.31. Минимально поддерживаемая phpBB 3.3 Proteus версия PHP повышена до PHP 7.1.3. Так что вместе с форумом придётся обновить PHP. Кроме того, в новой версии форума отказываются работать многие расширения, будем их чинить.

Теги