Уважаемые пользователи!
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
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

[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 раз.
Причина: Добавил команду для обновление БД через консоль
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

petsinform
Напомните, какую версию конвертируете, и как.
Изображение
Аватара пользователя
petsinform
phpBB 2.0.0
Сообщения: 206
Стаж: 12 лет
Благодарил (а): 2 раза

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

Сообщение petsinform »

Скопировать все файлы phpBB 3.1 поверх файлов phpBB 3.0.12 (кроме config.php)
Ввести в адресной строке и запустить /install/database_update.php (после имени домена и пути к форумам)
После этого при конвертировании базы проходило 3 страницы и на 4-й получал тот глюк.
Тренировался здесь (http://www.boxer.kiev.ua/forum - это полная копия основного), основной форум боюсь трогать
Сам форум есть, а при входе и регистрации вылазит непонятка.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

petsinform
Сделал тестовое конвертирование 3.0.12 -> 3.1.0-b4, перед этим создал юзера, у которого user_avatar_type равен 1.
Всё прошло как по маслу.
Вы до b4 конвертируете?

Добавлено спустя 1 минуту 20 секунд:
Борис Бердичевский
Вроде бы, пофиксили. https://github.com/phpbb/phpbb/pull/2607/files
Изображение
Аватара пользователя
petsinform
phpBB 2.0.0
Сообщения: 206
Стаж: 12 лет
Благодарил (а): 2 раза

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

Сообщение petsinform »

rxu У меня дошло до:

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

Обновление базы данных до последней стабильной версии
Тип базы данных :: mysqli
Предыдущая версия :: 3.1.0-a2
После

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

Общая ошибка
SQL ERROR [ mysqli ]

Incorrect integer value: 'avatar.driver.upload' for column 'user_avatar_type' at row 15 [1366]

SQL

UPDATE phpbb1_users SET user_avatar_type = 'avatar.driver.upload' WHERE user_avatar_type = '1'

BACKTRACE

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

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

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

FILE: [ROOT]/phpbb/db/migration/data/v310/avatar_types.php
LINE: 46
CALL: phpbb\db\driver\mysqli->sql_query()

FILE: (not given by php)
LINE: (not given by php)
CALL: phpbb\db\migration\data\v310\avatar_types->update_user_avatar_type()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 455
CALL: call_user_func_array()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 401
CALL: phpbb\db\migrator->run_step()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 250
CALL: phpbb\db\migrator->process_data_step()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 202
CALL: phpbb\db\migrator->try_apply()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 202
CALL: phpbb\db\migrator->try_apply()

FILE: [ROOT]/phpbb/db/migrator.php
LINE: 153
CALL: phpbb\db\migrator->try_apply()

FILE: [ROOT]/install/database_update.php
LINE: 222
CALL: phpbb\db\migrator->update()
А как создать юзера, у которого user_avatar_type равен 1 - просто зарегистрировать нового пользователя?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

petsinform писал(а):А как создать юзера, у которого user_avatar_type равен 1
Я просто в базе значение изменил.
petsinform писал(а):Предыдущая версия :: 3.1.0-a2
Ну это совсем не то. Вы попробуйте сконвертировать 3.0.12 до 3.1.0-b4 напрямую.
Изображение
Аватара пользователя
petsinform
phpBB 2.0.0
Сообщения: 206
Стаж: 12 лет
Благодарил (а): 2 раза

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

Сообщение petsinform »

rxu
rxu писал(а):Ну это совсем не то. Вы попробуйте сконвертировать 3.0.12 до 3.1.0-b4 напрямую.
Так я так и пробовал, но оно доходило до этого момента - и ошибка.

Добавлено спустя 15 минут 23 секунды:
petsinform писал(а):А как создать юзера, у которого user_avatar_type равен 1

Я просто в базе значение изменил.
Там есть user_avatar_type равен 0, равен 1, равен 2, равен 3
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

petsinform
Окей, похоже, такой баг действительно есть: https://tracker.phpbb.com/browse/PHPBB3-12368 и https://www.phpbb.com/community/viewtop ... &t=2246061
Хорошо бы узнать, при каких условиях он появляется (т.е. - как воспроизвести).

Добавлено спустя 2 минуты 8 секунд:
Какие моды установлены? Gravatar Integration имеется (или устанавливался ранее и, возможно, был удален)?
Изображение
Аватара пользователя
petsinform
phpBB 2.0.0
Сообщения: 206
Стаж: 12 лет
Благодарил (а): 2 раза

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

Сообщение petsinform »

rxu Дать Вам вход на тест (админ + фтп)?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

petsinform
Нет. Проверьте сами. Вы не знаете, какие моды устанавливались?
Попробуйте посмотреть в базе в таблице config исходного форума 3.0.12, имеется ли значение с именем allow_avatar_gravatar.
Изображение
Аватара пользователя
petsinform
phpBB 2.0.0
Сообщения: 206
Стаж: 12 лет
Благодарил (а): 2 раза

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

Сообщение petsinform »

rxu писал(а):Вы не знаете, какие моды устанавливались?
phpBB Gallery, ссылки в новом окне, phpBB Arcade, phpBB geo topics mod 1.4.3, Благодарность за сообщения, Mutiple File Upload, highslide, AutoMOD, Antibot 100500 - вот вроде и все.
rxu писал(а):Попробуйте посмотреть в базе в таблице config исходного форума 3.0.12, имеется ли значение с именем allow_avatar_gravatar.
Нет. Такого не нашел. в config есть только:
allow_avatar 1 0
allow_avatar_local 1 0
allow_avatar_remote 1 0
allow_avatar_upload 1 0
allow_avatar_remote_upload
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

petsinform
MySQL сервер какой версии?
Изображение
Аватара пользователя
petsinform
phpBB 2.0.0
Сообщения: 206
Стаж: 12 лет
Благодарил (а): 2 раза

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

Сообщение petsinform »

rxu писал(а):MySQL сервер какой версии?
MySQL(i) 5.5.37-0ubuntu0.12.04.1
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

petsinform
Еще вопрос - на момент ошибки, какой тип имеет поле 'user_avatar_type' и есть ли какие-то другие ошибки в еррор логе вебсервера, либо MySQL сервера?
Изображение
Аватара пользователя
petsinform
phpBB 2.0.0
Сообщения: 206
Стаж: 12 лет
Благодарил (а): 2 раза

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

Сообщение petsinform »

rxu писал(а):Еще вопрос - на момент ошибки, какой тип имеет поле 'user_avatar_type' и есть ли какие-то другие ошибки в еррор логе вебсервера, либо MySQL сервера?
Где и когда это надо смотреть (я не спец по PHBB)? Могу еще раз прогнать на тестовом с пошаговыми ошибками.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16367
Стаж: 17 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 521 раз
Поблагодарили: 1744 раза

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

Сообщение rxu »

Это надо смотреть в логах ошибок серверов (Апача и MySQL).
Изображение
Перенесено из форума FAQ в форум Поддержка phpBB 3.1.x 01.01.2019 7:53 модератором rxu

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