Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[FAQ] Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Проблемы с установкой или работой phpBB 3.1.x? Получите помощь здесь!
С 1 июля 2018 года phpBB Group прекращает поддержку phpBB версии 3.1.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.1 до 1 января 2019 года.
Подробнее: Окончание поддержки phpBB 3.1.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16369
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

[FAQ] Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение rxu »

Перед принятием решения обязательно прочтите Мини [FAQ] по phpBB 3.1.x
  • Проверить свой сервер на соответствие: phpBB 3.1.x - системные требования.
  • Сделать бэкап ВСЕГО - и файлов, и базы данных, чтобы потом не было мучительно больно за бесцельно прожитые годы.
  • Переключить всех пользователей, включая себя, на стиль prosilver (phpBB 3.1.х должен делать это сам, но всё равно не повредит).
  • Удалить AutoMOD, если он был установлен, а также все "неродные" модули администраторского, модераторского, личного разделов, если таковые были установлены вместе с какими-либо модами. Удалить все "неродные" таблицы, "неродные" колонки из стандартных таблиц, права доступа если таковые были установлены вместе с какими-либо модами (кроме тех, для которых есть портированные расширения). Если это затруднительно сделать вручную, воспользуйтесь инструментом Support ToolKit (STK).
  • Удалить файлы phpBB 3.0, КРОМЕ:
    • config.php
    • папки /images
    • папки /files
    • папки /store
  • Скопировать все файлы phpBB 3.1 в папку, где находится phpBB 3.0 (кроме config.php)
  • Убедиться в наличии прав доступа к папкам store/, cache/, files/ и images/avatars/upload/ - 777, к файлу config.php - не ниже 666, и выставить таковые при необходимости.
  • Ввести в адресной строке и запустить /install/database_update.php (после имени домена и пути к форумам).
  • Удалить (или переименовать) папку /install, изменить права доступа к файлу config.php на 644.
  • Готово!
Замечание №1: все моды на новой конференции будут потеряны.
Замечание №2: стили для phpBB 3.0 несовместимы со стилями для phpBB 3.1. Если используется уникальный дизайн, его придется обновить или переписать для соответствия phpBB 3.1, иначе он будет потерян.


Перед обновлением обязательно сделать резервные копии всех файлов и базы данных.

Скачать русский пакет phpBB 3.1 можно в нашем разделе базовых пакетов на сайте.
========================
Команда для обновления базы данных с консоли которую надо выполнить из корневой директории конференции.

Код: Выделить всё

php ./bin/phpbbcli.php db:migrate --safe-mode
======================
Скрипт для установки всем пользователем стиля prosilver по умолчанию
Создайте файл fix.php в корневой директории форума, скопируйте туда код и запустите скрипт http://forum.ru/fix.php

Код: Выделить всё

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Default style ID
$sql = 'SELECT config_value FROM ' . CONFIG_TABLE . " WHERE config_name = 'default_style'";
$result = $db->sql_query($sql);
$default_style_id = (int) $db->sql_fetchfield('config_value');
$db->sql_freeresult($result);

// Default style name
$sql = 'SELECT style_name FROM ' . STYLES_TABLE . ' WHERE style_id = ' . $default_style_id;
$result = $db->sql_query($sql);
$default_style_name = $db->sql_fetchfield('style_name');
$db->sql_freeresult($result);

// Active styles
$sql = 'SELECT style_id, style_name, style_active FROM ' . STYLES_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
    $styles_list[] = $row;
}
$db->sql_freeresult($result);


echo 'Default style: ' . $default_style_name . ' (' . $default_style_id . ')<br />';

$exists = file_exists('./styles/' . $default_style_name . '/style.cfg');

if ($exists)
{
    echo 'Default style exists, no work to be done.';
    exit;
}

if (!file_exists('./styles/prosilver/style.cfg'))
{
    echo 'Prosilver does not exist. Please upload a copy of prosilver from the <a href="https://www.phpbb.com/downloads/">3.1.0 Full Package</a>.';
    exit;
}

$prosilver = array();
foreach ($styles_list as $style)
{
    if ($style['style_name'] == 'prosilver')
    {
        $prosilver = $style;
        break;
    }
}

// Install style if it doesn't exist
if (!sizeof($prosilver))
{
    $sql_ary = array(
        'style_name'        => 'prosilver',
        'style_copyright'    => '&copy; phpBB Group',
        'style_active'        => 1,
        'style_path'        => 'prosilver',
        'bbcode_bitfield'    => 'lNg=',
        'style_parent_id'    => '0',
        'style_parent_tree'    => '',
    );

    $sql = 'INSERT INTO ' . STYLES_TABLE . '
        ' . $db->sql_build_array('INSERT', $sql_ary);
    $db->sql_query($sql);

    $id = $db->sql_nextid();
    $prosilver = array(
        'style_name'    => 'prosilver',
        'style_id'        => $id,
        'style_active'    => 1,
    );

    echo 'Installed prosilver (' . $id . ').<br />';
}
else
{
    // Activate prosilver
    $sql = 'UPDATE ' . STYLES_TABLE . " SET style_active = 1 WHERE style_name = 'prosilver'";
    $db->sql_query($sql);
}

// Set it as the default style
$sql = 'UPDATE ' . CONFIG_TABLE . ' SET config_value = ' . $prosilver['style_id'] . " WHERE config_name = 'default_style'";
$db->sql_query($sql);
$cache->purge();
echo 'Set prosilver as the default style.<br />';

// Set all users' styles to prosilver
$sql = 'UPDATE ' . USERS_TABLE . ' SET user_style = ' . $prosilver['style_id'];
$db->sql_query($sql);
echo 'Updated user styles to prosilver.<br />';
echo 'Done.';
?>
==================================
Файл config.php от версии phpbb 3.1.x

Код: Выделить всё

<?php
// phpBB 3.1.x auto-generated configuration file
// Do not change anything in this file!
$dbms = 'phpbb\\db\\driver\\mysqli';
$dbhost = '';
$dbport = '';
$dbname = '';
$dbuser = '';
$dbpasswd = '';
$table_prefix = 'phpbb_';
$phpbb_adm_relative_path = 'adm/';
$acm_type = 'phpbb\\cache\\driver\\file';

@define('PHPBB_INSTALLED', true);
//@define('DEBUG', true);
//@define('PHPBB_DISPLAY_LOAD_TIME', true);
$dbname = 'имя_базы_данных';
$dbuser = 'пользователь_базы_данных';
$dbpasswd = 'пароль_базы_данных';
============
Последний раз редактировалось владимир1983 01.01.2017 15:00, всего редактировалось 28 раз.
Причина: Добавил команду для обновление БД через консоль
Изображение
dimetrius
phpBB 1.4.0
Сообщения: 34
Стаж: 13 лет 2 месяца
Благодарил (а): 7 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение dimetrius »

Ребята, ну подскажите как выявить все сторонние установленные модули на 3.0 и удалить их.
Не записывал какие ставил моды, а теперь надо бы обновиться до 3.1...
Последний раз редактировалось dimetrius 13.03.2015 15:58, всего редактировалось 1 раз.
Аватара пользователя
Alecto
phpBB 3.0.12
Сообщения: 2857
Стаж: 14 лет 4 месяца
Откуда: Украина! Харьков
Благодарил (а): 68 раз
Поблагодарили: 241 раз

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alecto »

ищи STK
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

Обнаружилась проблема с конвертацией. Сама она прошла без проблем. Но после нее выяснилось что установилась не финальная версия 3.1.3, а какая-то 3.1.0-dev. Хотя скачана была час назад именно 3.1.3 со страницы http://www.phpbbguru.net/files/base/phpbb31-ru/
Чем может быть вызвано такое недоразумение?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 11 лет 11 месяцев
Благодарил (а): 101 раз
Поблагодарили: 91 раз
Забанен: Бессрочно

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение xisp »

Alex Baskakov писал(а): Сама она прошла без проблем.
Просто вы их не заметили. Запустите скрипт обновления (database_update.php) ещё раз, чтобы он продолжил работу.
phpBBex
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

xisp писал(а):Запустите скрипт обновления (database_update.php) ещё раз, чтобы он продолжил работу.
Да, Вы правы, все обновилось после повторного запуска. Спасибо.
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

В базе данных было фактически 2 БД, одна со стандартным префиксом phpbb, вторая с phpbb3. Похоже что таблицы со стандартным префиксом обновились, а с phpbb3 нет. При переключении в конфигурационном файле префикса с phpbb на phpbb3 форум пропадает. Как можно сделать так, чтобы и таблицы с префиксом phpbb3 обновились?
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение владимир1983 »

В файле config.php укажи префикс таблиц с которым будет работать скрипт.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

владимир1983 писал(а):В файле config.php укажи префикс таблиц с которым будет работать скрипт.
Указывал, не помогло. Потому и спросил. Подозреваю что таблицы с префиксом phpBB3 не обновились.
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 14 лет
Откуда: Сергиев Посад
Благодарил (а): 306 раз
Поблагодарили: 296 раз

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение владимир1983 »

Alex Baskakov писал(а): Подозреваю
Правильно подоззреваешь. Если у тебя указан был префикс phpbb_ то и таблицы обновились только с этим префиксом. Для обновления таблиц с префиксом phpbb3 надо прописать их в файл конфиг и запустить обновление.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16369
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение rxu »

владимир1983 писал(а): Для обновления таблиц с префиксом phpbb3 надо прописать их в файл конфиг и запустить обновление.
Alex Baskakov писал(а): Указывал, не помогло.
Вам зачем вообще их обновлять?
Изображение
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

владимир1983 писал(а):
Alex Baskakov писал(а): Подозреваю
Правильно подоззреваешь. Если у тебя указан был префикс phpbb_ то и таблицы обновились только с этим префиксом. Для обновления таблиц с префиксом phpbb3 надо прописать их в файл конфиг и запустить обновление.
Понял, спасибо. То есть, это будет повторное обновление, но уже для той части БД, которая с другим префиксом. Буду пробовать.
rxu писал(а):
владимир1983 писал(а): Для обновления таблиц с префиксом phpbb3 надо прописать их в файл конфиг и запустить обновление.
Alex Baskakov писал(а): Указывал, не помогло.
Вам зачем вообще их обновлять?
Там получается 2 форума в одном. Переключаю префикс и попадаю в форум с другим контентом.
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

Удалить файлы phpBB 3.0, КРОМЕ:
  • config.php
  • папки /images
  • папки /files
  • папки /store
Если удалить и папку images и загрузить ее из новой 3.1.3, то это же не страшно? Удалить ее надо чтобы обновить старый стандартный пакет смайлов, часть из которых - битые. Сами картинки-images на форуме из-за этого не пострадают так как их нет, вложения на форуме отключены.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16369
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1745 раз

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение rxu »

Alex Baskakov, Если содержимое папки отсутствует или не нужно, можете удалять и перезаписывать.
Изображение
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

rxu писал(а):Alex Baskakov, Если содержимое папки отсутствует или не нужно, можете удалять и перезаписывать.
Есть некоторое содержимое - аватары и те же смайлы. Но часть смайлов, как говорил, битые и лень их руками править. Потому проще заменить всю папку images, после чего смайлы надеюсь сами собой исправятся. А что до аватаров, то в основном их загрузили себе флудоботы, что является еще одним аргументом в пользу того чтобы уничтожить изображения. Те кому надо загрузят себе аватарки по новой.
Alex Baskakov
phpBB 1.4.3
Сообщения: 99
Стаж: 9 лет 8 месяцев
Благодарил (а): 9 раз
Поблагодарили: 3 раза

Re: Как сконвертировать phpBB 3.0.х в phpBB 3.1.х

Сообщение Alex Baskakov »

При операции /install/database_update.php возникла проблема

Код: Выделить всё

General Error
SQL ERROR [ mysqli ]

Access denied for user 'u779828371_root'@'10.2.1.34' (using password: YES) [1045]

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()

FILE: [ROOT]/phpbb/db/driver/mysqli.php
LINE: 110
CALL: phpbb\db\driver\driver->sql_error()

FILE: (not given by php)
LINE: (not given by php)
CALL: phpbb\db\driver\mysqli->sql_connect()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 1132
CALL: call_user_func_array()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 968
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->callMethod()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 490
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->createService()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 52
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->get()

FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\factory->get_driver()

FILE: [ROOT]/phpbb/config/db.php
LINE: 71
CALL: phpbb\db\driver\factory->sql_query()

FILE: (not given by php)
LINE: (not given by php)
CALL: phpbb\config\db->__construct()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 959
CALL: ReflectionClass->newInstanceArgs()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 490
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->createService()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 1005
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->get()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 1002
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->resolveServices()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 944
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->resolveServices()

FILE: [ROOT]/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php
LINE: 490
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->createService()

FILE: [ROOT]/install/database_update.php
LINE: 91
CALL: Symfony\Component\DependencyInjection\ContainerBuilder->get()
Понял из этого только что "Доступ закрыт для пользователя 'u779828371_root'@'10.2.1.34 "(с использованием пароль: ДА) [1045]"
Как быть в этой ситуации?
Перенесено из форума FAQ в форум Поддержка phpBB 3.1.x 01.01.2019 7:53 модератором rxu

Вернуться в «Поддержка phpBB 3.1.x»