[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
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

[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 раз.
Причина: Добавил команду для обновление БД через консоль
Изображение
carik
phpBB 1.4.4
Сообщения: 124
Стаж: 11 лет 5 месяцев
Благодарил (а): 25 раз

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

Сообщение carik »

такой вот страшный момент... чистый форум, установленный с нуля и с созданием базы, работает, моды ставятся и всё такое... а вот пытаюсь теперь рабочую базу прикрутить, делаю апдейт, без ошибок, тем 0 постов 0, вернее если войти в раздел то темы на месте, а посты есть по одной странице.
хотя в базе после конвертации и работы всех функций stk в базе порядок, визуально всё на местах и лишних таблиц нет.
но получается кино, старый форум работает на своём движке, а на новый не лезет... попытка на сервере копировать данные из рабочей таблице в новую, выдаёт ошибки. если удаляю, например посты и темы, копирую уже полностью структуру и данные, то опять 0 тем и 0 постов.
может кто подскажет как руками можно "склеить" базы? или в чём может быть проблема при конвертации... ошибок при конвертации нет нигде, и посты и темы в базу переносятся, но на главной 0 и многостраничные темы становятся из одной страницы в несколько постов, где всё остальное?
уже и пробовал сперва 3.0.11 апдейтить до 3.0.13 и потом конвертировать, всегда без ошибок, но результат всегда один.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

Букв много, но так и не ясно, что и как вы пытались прикрутить и что теперь с чем надо склеить.
Конвертация никакого склеивания не предусматривает, инструкция несложная.
Синхронизацию форумов попробуйте.
Изображение
carik
phpBB 1.4.4
Сообщения: 124
Стаж: 11 лет 5 месяцев
Благодарил (а): 25 раз

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

Сообщение carik »

rxu, =) хорошо поменьше букв - через обычный апдейт, с конвертацией базы, баг с темами и постами. делаю всё по инструкции, перепробовал кучу вариантов. При попытке копировать данные из рабочей базы в чистую таблицу созданную при установке 3.1.3 получаю вот такую ошибку - #1136 - Column count doesn't match value count at row 1

Отправлено спустя 1 минуту 4 секунды:
полный запрос и ошибка -

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

INSERT INTO `wowcamer_new`.`phpbb_posts` 
SELECT * 
FROM  `wowcamer_wow`.`phpbb_posts`

Ответ MySQL: Документация

#1136 - Column count doesn't match value count at row 1 
Аватара пользователя
владимир1983
phpBB 3.2.6
Сообщения: 5954
Стаж: 15 лет
Откуда: Сергиев Посад
Благодарил (а): 295 раз
Поблагодарили: 287 раз

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

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

carik писал(а): баг с темами и постами
После конвертации поставь stk для 3.1 и проверь изменения в базе данных. Сбрось права доступа и роли по умолчанию.
За ваши деньги решу ваши проблемы. Стучи в ЛС.
Нет человека - нет проблемы. (c)
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 12 лет 11 месяцев
Благодарил (а): 97 раз
Поблагодарили: 91 раз
Забанен: Бессрочно

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

Сообщение xisp »

carik писал(а): При попытке копировать данные из рабочей базы в чистую таблицу созданную при установке 3.1.3
В инструкции такого пункта нет.
phpBBex
carik
phpBB 1.4.4
Сообщения: 124
Стаж: 11 лет 5 месяцев
Благодарил (а): 25 раз

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

Сообщение carik »

владимир1983, я делаю всё что уже вычитал в разных темах. даже сделал копию рабочего форума и руками удалил всё до дефолтного движка, залил файлы от 3.0.12 и запустил обновление - пишет всё отлично, обновлять не нужно. потом уже меняю файлы и делаю апдейт 3.1.3 - всё проходит без ошибок, стк пишет что всё везде отлично, но при этом результат как я писал выше...

Отправлено спустя 2 минуты 12 секунд:
xisp, в инструкции много чего нету и что? я же ясно написал - автоапдейт не приносит нужного результата, а то что Вы цитировали уже попытка разобраться руками что и где не так. не знаете чем помочь, зачем писать то?

Отправлено спустя 2 минуты 43 секунды:
сейчас пойду руками сравнивать столбцы, их расположение и кол-во, ошибка в общем то о том и есть. не понятно только как тогда старый движок с той базой, или столбцы лишние где то есть, или их местами поменяли...
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

carik писал(а): автоапдейт не приносит нужного результата
Он хотя бы завершается, до упора жмете на кнопку? По завершении сообщение об успешном обновлении базы данных есть?
Изображение
carik
phpBB 1.4.4
Сообщения: 124
Стаж: 11 лет 5 месяцев
Благодарил (а): 25 раз

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

Сообщение carik »

rxu, да всё проходит до сообщения что база обновлена и надо проверить обновил ли я файлы, войти на форум удалив инстал.
не... тут странности какие то лезут на уровне - моя твоя не понимай... во первых нашёл что в чистой базе столбики стоят в разных местах, вот возможно тут и причина. ну и плюс в обих базах (а они обе дефолтные) разное кол-во столбиков. так например в старой базе нет - topik_visibility и ещё кое чего.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 18 лет 2 месяца
Откуда: Калининград не Кенигсберг
Благодарил (а): 36 раз
Поблагодарили: 1526 раз

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

Сообщение Sheer »

carik писал(а): разное кол-во столбиков
А что в этом удивительного? Структура БД разная, иначе зачем тогда весь огород.
Мне вот удивительно другое. Зачем нужно было использовать пакет автоматического обновления, когда написано
rxu писал(а): Удалить файлы phpBB 3.0, КРОМЕ:
config.php
папки /images
папки /files
папки /store
Скопировать все файлы phpBB 3.1 в папку, где находится phpBB 3.0 (кроме config.php)
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 12 лет 11 месяцев
Благодарил (а): 97 раз
Поблагодарили: 91 раз
Забанен: Бессрочно

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

Сообщение xisp »

carik писал(а): я же ясно написал - автоапдейт не приносит нужного результата, а то что Вы цитировали уже попытка разобраться руками что и где не так.
Неправильная попытка, что я могу сказать. Тысячи людей обновились по инструкции, и проблем у них не было. Значит вы что- то делаете не так.
carik писал(а): тут странности какие то лезут на уровне - моя твоя не понимай...
Какие именно?
carik писал(а): во первых нашёл что в чистой базе столбики стоят в разных местах,
Да без разницы, на самом деле.
phpBBex
Аватара пользователя
LavIgor
Former team member
Сообщения: 3468
Стаж: 11 лет
Благодарил (а): 39 раз
Поблагодарили: 792 раза

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

Сообщение LavIgor »

carik писал(а): попытка на сервере копировать данные из рабочей таблице в новую, выдаёт ошибки.
Зачем?
Вы пробовали ничего не удалять из базы и предоставить работу по конвертированию скрипту?
Просто в чём тогда смысл оставлять чистую базу от 3.0.13 и обновлять её (чистую базу) до 3.1.3, если можно сразу поставить с нуля движок версии 3.1.3?

Тут вся соль перехода с 3.0.x на 3.1.x в обновлении базы данных. Если Вы говорите, что ничего не меняли в структуре БД, то попробуйте следующее:
- Оставьте свою базу данных, как она есть (то бишь создайте копию текущей рабочей базы), а также файл config.php и папки /images, /files, /store.
- Загрузите файлы движка от версии 3.1.3.
- Запустите файл /install/database_update.php.
- Проверьте результат и завершите обновление (удалите папку /install и т. п., как сказано в первом сообщении данной темы).
carik
phpBB 1.4.4
Сообщения: 124
Стаж: 11 лет 5 месяцев
Благодарил (а): 25 раз

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

Сообщение carik »

:lol: :lol: :lol: учить все научились, а читать некоторые не умеют... ясно же написал, чистый ставится без проблем, апдейт базы старого движка проходит, но новом движке косяки с темами и постами... то что у "всех" скрипт делает и всё получается - не сомневаюсь! а вот у меня "случай"... всё конвертится и проходит без ошибок, но не работает.

Отправлено спустя 1 минуту 36 секунд:
Sheer, да, вот и мучаюсь с правкой базы руками. так как Вы написали я делал тоже. Вопрос именно по базе. Именно при конвертировании, хоть и без ошибок, но что то, теряется... что именно я пока разбираюсь.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16947
Стаж: 18 лет 11 месяцев
Откуда: Красноярск
Благодарил (а): 549 раз
Поблагодарили: 1700 раз

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

Сообщение rxu »

carik писал(а): учить все научились, а читать некоторые не умеют
А некоторые - и писать не очень. Каким конкретно способом обновлялись - из первого поста, или пакетом автообновления?
Изображение
Аватара пользователя
Борис Бердичевский
phpBB 3.0.0 RC1
Сообщения: 1457
Стаж: 17 лет 4 месяца
Откуда: Израиль, Беэр-Шева
Благодарил (а): 28 раз
Поблагодарили: 53 раза

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

Сообщение Борис Бердичевский »

carik,
фишка в том, чтобы взять практически все новые скрипты от 3.1, сунуть для них базу данных от 3.0 и запустить скрипт апдейта базы. Скрипт работает долго, раз 20 останавливается и требует нажать ссылку для продолжения. И это должно работать. Никаких копирований старого в новое ("при попытке копировать данные из рабочей базы в чистую таблицу созданную при установке 3.1.3...") , этого нельзя делать.
После нескольких лет общения здесь и техсопровождения форумов я наконец понял, что ничего не понимаю в phpBB!
carik
phpBB 1.4.4
Сообщения: 124
Стаж: 11 лет 5 месяцев
Благодарил (а): 25 раз

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

Сообщение carik »

rxu, обновлялся способом из первого поста - смотреть тут - http://wowcamera.info/forum/ может так будет понятнее.
в админке -

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

Сообщений:	63670  Тем:0  Пользователей:704
:lol: могу дать таблицу с темами, все темы в таблице есть.
есть идеи? плюс смотрите тему http://wowcamera.info/forum/viewtopic.php?f=7&t=4 она на старом движке больше 200 страниц, тут только одна.

Отправлено спустя 2 минуты 56 секунд:
Борис Бердичевский, да, несколько листов нажимал продолжить, потом пишет всё ок, удалите инстал и войди на форум. результат по ссылке.

Отправлено спустя 18 минут 35 секунд:
:lol: после конвертации все темы и почты "мягко удалены" ... вот вам и апдейт!
Перенесено из форума FAQ в форум Поддержка phpBB 3.1.x 01.01.2019 7:53 модератором rxu

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